- ベストアンサー
forの中にリストを書くとその後の動作がおかしくなります。
パールの初心者です。 こんなプログラムを作ってみたのですが、 @arの要素数だけ処理をしたいのですが、 処理後@arを使った配列が参照できなくなります。 理由が良くわかりません。 どなたかご教授願います。 $ar[0]=[1,2,3]; $ar[1]=[4,5,6]; print "@{$ar[0]}\n"; #表示される。 for(@ar){ #これが悪いみたい。 open(IN,'test.pl'); while(<IN>){ } close(IN); } print "@{$ar[0]}\n"; #表示されない。
- みんなの回答 (1)
- 専門家の回答
お礼
早速お答えありがとうございます。 ということは、$_はリストの値が代入されるのではなく、ポイントしているだけなんですね。 質問後にいろいろ試してみて、whileブロックをコメントアウトすると正常に動作するので、whileが関係している事まではわかったのですが、そういう事だったのですか。 勉強になりました。ありがとうございます。