質問: !$test?"noooooooo!":$test; print "$test\n"; } ---------- すると、下記のような結果が出ました。 ---------- test1 test1 noooooooo! test2 ---------- これまで、関数を呼び出す時に()を付けなかったら 引数がないものとして扱われる物と思っていたのですが、 どうやら()を付けなければ、引数が引き継がれているようなのです。 (私が知らなかっただけで、当たり前のことと思うのですが・・・。) なぜこのようなことが起こるのでしょう? 特定の条件下ではなく、常にこのような動作をするものなのでしょうか? 回答しずらい質問ですが、よろしくお願いします。
回答: 私も知らなかったんですが^^;)、マニュアルには書かれているようですね。 http://www.namazu.org/~tsuchiya/perl/info/perl-ja_69.html#sec69 &name # その時点の @_ をサブルーティンに渡す。 だそうです。 参考url:http://www.namazu.org/~tsuchiya/perl/info/perl-ja_69.html#sec69