- 293 名前:デフォルトの名無しさん [2008/02/03(日) 23:24:30 ]
- 質問です。
だいぶ前に書かれたライブラリ(*.pl)が現役で動いているとします。 色々な箇所で使われているため、(動いている限りは)できるだけこれを修正したくありません。 このライブラリの中に、以下のようなサブルーチンがあります。 sub Func { local *data = $_[0]; #ハッシュにいろいろ詰め込む } このサブルーチンは、以下のように呼び出すようにとサンプルコードが示されています。 local %hash; &Func(*hash); これを呼び出し側だけでもlocalを排除しようと、以下のように書き換えました。 実行してみた結果、ちゃんと動いているように見えます。 my %hash; Func(\%hash); この場合、 1.呼び出し元だけを書き換えることに意味はあるのか? 2.あるとしたら正しい書き方は?(cron、CGI、mod_perlで動かすことを想定) よろしくお願いします。
|

|