Hay varias formas de imprimir el tamaño de la matriz. Aquí están los significados de todos: Digamos que nuestra matriz esmy @arr = (3,4);
Método 1: escalar
Esta es la forma correcta de obtener el tamaño de las matrices.
print scalar @arr; # prints size, here 2
Método 2: número de índice
$#arr
da el último índice de una matriz. entonces, si la matriz es de tamaño 10, entonces su último índice sería 9.
print $#arr; # prints 1, as last index is 1
print $#arr + 1; # Add 1 to last index to get array size
Estamos agregando 1 aquí considerando la matriz como 0 indexada . Pero, si no está basado en cero, entonces, esta lógica fallará .
perl -le 'local $[ = 4; my @arr=(3,4); print $#arr + 1;' # prints 6
El ejemplo anterior imprime 6, porque hemos establecido su índice inicial en 4. Ahora el índice sería 5 y 6, con los elementos 3 y 4 respectivamente.
Método 3:
Cuando se utiliza una matriz en contexto escalar, devuelve el tamaño de la matriz.
my $size = @arr;
print $size; # prints size, here 2
En realidad, el método 3 y el método 1 son iguales.
print 0+@arr
,print "".@arr
,print ~~@arr