Es gibt verschiedene Möglichkeiten, die Größe des Arrays zu drucken. Hier sind die Bedeutungen von allem: Nehmen wir an, unser Array istmy @arr = (3,4);
Methode 1: Skalar
Dies ist der richtige Weg, um die Größe von Arrays zu ermitteln.
print scalar @arr; # prints size, here 2
Methode 2: Indexnummer
$#arr
gibt den letzten Index eines Arrays an. Wenn das Array also die Größe 10 hat, ist sein letzter Index 9.
print $#arr; # prints 1, as last index is 1
print $#arr + 1; # Add 1 to last index to get array size
Wir fügen hier 1 hinzu, wobei das Array als 0-indiziert betrachtet wird . Wenn es jedoch nicht auf Null basiert, schlägt diese Logik fehl .
perl -le 'local $[ = 4; my @arr=(3,4); print $#arr + 1;' # prints 6
Das obige Beispiel gibt 6 aus, da wir den Anfangsindex auf 4 gesetzt haben. Jetzt wäre der Index 5 und 6 mit den Elementen 3 bzw. 4.
Methode 3:
Wenn ein Array im skalaren Kontext verwendet wird, gibt es die Größe des Arrays zurück
my $size = @arr;
print $size; # prints size, here 2
Tatsächlich sind Methode 3 und Methode 1 gleich.
print 0+@arr
,print "".@arr
,print ~~@arr