配列の要素数を調べる - Perl

配列に今どれだけの要素が詰まっているかカウントしたい。これには大きく二つの方法が用意されている。

$#配列名」とする方法と、スカラー値として値を得る方法の二つがある。前者と後者で得られる値が違う点に注意すること。「$#配列名」は配列のインデックス(添え字)に忠実で、「最大数 - 1」の結果が返ってくるのに対し、後者は最大数がそのまま返ってくる。

サンプル

#!/usr/bin/perl

;#
;#配列の要素数を表示
;#

#---------------------------------------#
#準備
#---------------------------------------#
@array = (1..5);   #1~5の値を入れる

#---------------------------------------#
#表示
#---------------------------------------#
#-- $#配列名 --#
print $#array, "\n";

#-- スカラー変数として処理 --#
$count = @array;
print $count, "\n";

#-- scalar関数を使うことでも上と同じ意味に --#
print scalar(@array), "\n";

実行結果

4
5
5

次のようにすることで配列の最後の要素を得ることが出来る。

$array[$#array];