まくまくPerlノート
配列のサイズを取得する
2008-02-28

配列変数 (@arr) をスカラーコンテキストで参照すると、配列のサイズを取得することができます。

my @arr = (100, 200, 300);
my $n = @arr;  # $n は 3

print 関数のパラメータのように、リストコンテキストで評価される部分で配列のサイズを取得したい場合は、上記のように一度スカラー変数に代入するか、次のように scalar キーワードを使って強引にスカラーコンテキストで評価します。

print 'size is ' . scalar @arr . "\n";
2008-02-28