Artikel im Internet unter http://www.hidemail.de/blog/shift-perl.shtml.
Montag, 29.1.2007, 16:03:33 Uhr

Shift in Perl


Der Shift-Befehl in Perl gibt als Ergebnis den ersten Eintrag eines Arrays zurück und entfernt diesen aus dem Array.

Beispiel:

@a=("hans","franz");
$erster=shift(@a);
print $erster;
print "\n";
print "@a";


Ausgabe: hans
franz


Verwechselt werden kann shift() mit dem Befehl pop(), der im Vergleich zu shift nicht den ersten, sondern den Letzten Eintrag des Arrays zurückgibt.

shift in Subroutinen
Es gibt noch eine andere Anwendung von shift: Das Auslesen von Übergabeparametern an Subroutinen.


Beispiel:

@a=("a","b","c");
&test(@a);


sub test{
my $a=shift;
my $b=shift;
my $c=shift;

print "$a $b $c";
}



Ausgabe: a b c

Das shift in der Routine test liest also nacheinander die einzelnen Werte aus dem übergebenen @a (das sich dann in @_ befindet) aus und weist sie den Variablen zu.

shift in Subroutinen liest also nacheinander Parameter aus @_ aus.




Artikel im Internet unter http://www.hidemail.de/blog/shift-perl.shtml.