08/12/03 17:33:41
CPANあたりみても"&"つけてない方が圧倒的に多いし、使えるからといって
組み込み関数とだぶった名前つけたら読みにくくなるだけじゃないか。
あと、サブルーチン呼び出しの&の有無は完全に等価ではなくて、プロトタイプ
まわりや引数を省略したときの振る舞いなんかが違うので注意な。
sub f(\@) {
my($x) = @_;
print join(",", @$x), "\n";
}
@array = (1, 2, 3);
f(@array); # 1,2,3
&f(@array); # 空文字列
sub g {
my(@x) = @_;
print join(",", @x), "\n";
}
sub g1 {g;}
sub g2 {&g;}
g1(1,2,3); # 空文字列
g2(1,2,3); # 1,2,3