配列変数 (@arr
) をスカラーコンテキストで参照すると、配列のサイズを取得することができます。
my @arr = (100, 200, 300);
my $n = @arr; # $n は 3
print
関数のパラメータのように、リストコンテキストで評価される部分で配列のサイズを取得したい場合は、上記のように一度スカラー変数に代入するか、次のように scalar
キーワードを使って強引にスカラーコンテキストで評価します。
print 'size is ' . scalar @arr . "\n";