배열 크기를 인쇄하는 방법에는 여러 가지가 있습니다. 다음은 모두의 의미입니다. 배열이my @arr = (3,4);
방법 1 : 스칼라
이것은 배열의 크기를 얻는 올바른 방법입니다.
print scalar @arr; # prints size, here 2
방법 2 : 색인 번호
$#arr
배열의 마지막 인덱스를 제공합니다. 따라서 배열의 크기가 10이면 마지막 인덱스는 9입니다.
print $#arr; # prints 1, as last index is 1
print $#arr + 1; # Add 1 to last index to get array size
여기서는 배열을 0-indexed 로 간주하여 1을 추가 합니다. 그러나 0이 아닌 경우이 논리는 실패 합니다.
perl -le 'local $[ = 4; my @arr=(3,4); print $#arr + 1;' # prints 6
위의 예는 초기 인덱스를 4로 설정했기 때문에 6을 인쇄합니다. 이제 인덱스는 요소 3과 4를 가진 5와 6입니다.
방법 3 :
스칼라 컨텍스트에서 배열을 사용하면 배열의 크기를 반환합니다.
my $size = @arr;
print $size; # prints size, here 2
실제로 방법 3과 방법 1은 동일합니다.
print 0+@arr
,print "".@arr
,print ~~@arr