Thread Einträge im Array löschen, auslesen, ..
(16 answers)
Opened by Gast at 2005-11-21 12:35
Hallo Ragnar,
hier noch eine Alternative. Zunächst solltest Du wissen, dass Arrays grundsätzlich mit @ beginnen. Die Werteliste wird mit () geklammert und nicht mit {}, da sonst eine Referenz auf einen Hash geliefert wird. Deshalb sieht Dein Array auch etwas anders im Code aus: Code (perl): (dl
)
1 2 3 4 my @Array1 = ('Nr;Name;Vorname;Strasse;Ort', '1;Bauer;Otto;Heuweg 1;Bonn', '2;Mueller;Mark;Holzweg 2;Berlin', '3;Schreiber;Stefan;Hochweg 3;München'); Mit der "shift"-Funktion wird von einer Liste (= Array) das erste Element geliefert und die Liste um das Element verkürzt. Da uns das erste Element nicht interessiert, wird das Ergebnis von shift einfach ignoriert: Code (perl): (dl
)
shift @Array1; In einer for-Schleife wird dann der Rest der Liste durchgegangen und mit einem regulären Ausdruck das letzte Element samt Semikolon entfernt. Code (perl): (dl
)
1 2 3 4 5 for (my $i = 0; $i <= $#Array1; $i++) { $Array1[$i] =~ s{(;[^;]+)$}{}; } print $Array1[1]; $#Array1 liefert den Index des letzen Elements des Arrays. Die Lösung mit "map" ist eleganter - aber für einen Anfänger wohl weniger verständlich. Gruß
Thomas |