Ada berbagai cara untuk mencetak ukuran array. Inilah arti dari semuanya: Katakanlah array kita adalahmy @arr = (3,4);
Metode 1: skalar
Ini adalah cara yang tepat untuk mendapatkan ukuran array.
print scalar @arr; # prints size, here 2
Metode 2: Nomor indeks
$#arr
memberikan indeks terakhir dari sebuah array. jadi jika array berukuran 10 maka indeks terakhirnya adalah 9.
print $#arr; # prints 1, as last index is 1
print $#arr + 1; # Add 1 to last index to get array size
Kami menambahkan 1 di sini mengingat array sebagai 0-diindeks . Tapi, jika bukan nol maka logika ini akan gagal .
perl -le 'local $[ = 4; my @arr=(3,4); print $#arr + 1;' # prints 6
Contoh di atas mencetak 6, karena kami telah menetapkan indeks awal menjadi 4. Sekarang indeks akan menjadi 5 dan 6, dengan masing-masing elemen 3 dan 4.
Metode 3:
Ketika sebuah array digunakan dalam konteks skalar, maka ia mengembalikan ukuran array
my $size = @arr;
print $size; # prints size, here 2
Sebenarnya metode 3 dan metode 1 sama.
print 0+@arr
,print "".@arr
,print ~~@arr