配列に今どれだけの要素が詰まっているかカウントしたい。これには大きく二つの方法が用意されている。
「$#配列名
」とする方法と、スカラー値として値を得る方法の二つがある。前者と後者で得られる値が違う点に注意すること。「$#配列名
」は配列のインデックス(添え字)に忠実で、「最大数 - 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];