Dizi boyutunu yazdırmanın çeşitli yolları vardır. İşte hepsinin anlamları: Diyelim ki dizimizmy @arr = (3,4);
Yöntem 1: Skaler
Dizilerin boyutunu elde etmenin doğru yolu budur.
print scalar @arr; # prints size, here 2
Yöntem 2: Dizin numarası
$#arr
dizinin son dizinini verir. yani dizi 10 büyüklüğündeyse, son dizini 9 olur.
print $#arr; # prints 1, as last index is 1
print $#arr + 1; # Add 1 to last index to get array size
Diziyi 0 dizinli olarak kabul ederek 1 ekliyoruz . Ancak, sıfır tabanlı değilse, bu mantık başarısız olacaktır .
perl -le 'local $[ = 4; my @arr=(3,4); print $#arr + 1;' # prints 6
Yukarıdaki örnek 6'yı yazdırır, çünkü başlangıç dizinini 4 olarak ayarladık. Şimdi dizin sırasıyla 3 ve 4 ile 5 ve 6 olacaktır.
Yöntem 3:
Bir dizi skaler bağlamda kullanıldığında, dizinin boyutunu döndürür
my $size = @arr;
print $size; # prints size, here 2
Aslında yöntem 3 ve yöntem 1 aynıdır.
print 0+@arr
,print "".@arr
,print ~~@arr