perl Frage

Christian Ordig chr.ordig at gmx.net
Mon Jun 14 16:45:42 CEST 1999


On 14-Jun-99 Rene Lange wrote:
> hi!
> 
> Wie kann ich aus einem array einen Eintrag löschen?
> 
> Beispiel:
> 
> array @daten:
> $daten[0] = "dies#und#das"
> $daten[1] = "dies#und#jenes"
> $daten[2] = "das#auch#noch"
> 
> jetzt will ich $daten[1] löschen, sodaß alle danach folgenden Datensätze im
> Feld eine Etage nach
> oben rücken. Weiß jemand, wie?
> 
Hi Rene,

splice ist Dein Freund, bei solchen Aktionen...

Syntax: splice (@ARRAY,OFFSET[[,LENGTH][,LIST]]);

Das ersetzt in Array, an Position OFFSET, LENGTH Elemente durch LIST.
(Klargekommen??)
OK, jetzt vereinfacht, für Deinen Anwendungsfall: splice (@ARRAY,OFFSET,1) -
das bedeutet, das Element an Stelle Offest (und nur das!) wird duch eine leere
Liste ersetzt, und der Rest wird rangezogem --> Element an Stelle Offset ist
gelöscht!!
ACHTUNG: wenn Du LENGTH nicht angibst, werden alle Elemente nach OFFSET
gelöscht!!

hoffe geholfen zu haben ...

cu.

PS.: schau Dir mal "man perlfunc" an!!


---
Christian Ordig             | Homepage: http://thor.prohosting.com/~chrordig/ 
Germany                     |    eMail: Christian Ordig <chr.ordig at gmx.net>
   __   _                   |                                                 
  / /  (_)__  __ ____  __   | Why Linux? Because it is free, stable, and      
 / /__/ / _ \/ // /\ \/ /   | bugs can be fixed in source opposed to waiting  
/____/_/_//_/\_,_/ /_/\_\   | for a stable WinTendo from Micro$oft.           
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 366 bytes
Beschreibung: nicht verfügbar
URL         : http://www.tlug.de/pipermail/tlug_allgemein/attachments/19990614/4b39b821/attachment.pgp