Perlについての質問箱 29箱目
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
350:デフォルトの名無しさん 07/01/17 19:48:51 ありがとうございます。でも余計にわからなくなったorz 実はこんなコード書いて試してみたんですがlocal $_;あっても無くても同じように動くんですよね # lstはファイル名のリスト open (FH, '< lst') or die; while (<FH>) { print; &localtest } close FH; sub localtest { local *FH; open (FH, $_) or die; #local $_; while (<FH>) { print } } 何が違うのかも教えていただけたらうれしいです。 351:デフォルトの名無しさん 07/01/17 19:58:12 $_はグローバルだから他で使われてるかもしれない。特に 左辺値でないもののaliasだったりすると値を書き換えることも できないしな。 foreachのときは暗黙にlocalにしてくれるけど。 352:デフォルトの名無しさん 07/01/17 21:12:34 >>350 localtest 呼び出しの後 $_ は書き換わってるけど、 すぐに次のループに入るので問題がないだけ。 while (<FH>) { print "begin: $_"; &localtest; print "end: $_" } とかやってみると、違いがわかると思うよ。
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5393日前に更新/220 KB
担当:undef