Ich habe gerade Perl zu lernen begonnen und fand mich durch das Ergebnis des folgenden Code-Block zunichte gemacht:Verhalten von 'foreach' in Perl
@x = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
foreach (@x) {
$x = pop (@x) ;
$y = shift (@x);
print ("$x $y \n");
}
Die Ausgabe lautet:
10 1
9 2
8 3
7 4
I hatte eine andere Linie erwartet: 6 5
. Warum gibt es keine solche Linie? Liegt es daran, dass nach der Iteration, die 7 4
druckt, die Anzahl der Elemente im Array gleich der Anzahl der bereits ausgeführten Iterationen ist, und was Perl betrifft, ist die Schleife erledigt?
Dank nneonneo. Ihre Erklärung dessen, was passiert, war genau das, was ich verstehen musste. – verbose