- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:perl use strict; と ファイルハンドルについて)
Perlのuse strict;とファイルハンドルについて
このQ&Aのポイント
- Perlのuse strict;はエラーを防ぐために役立ちますが、特定のエラーを見つけるのは難しい場合があります。
- ファイルハンドルを使用する際にも注意が必要で、スクリプト内での変数の使い方によってエラーが発生する可能性があります。
- 安全なプログラムの書き方を実践することで、エラーを防ぐことができます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
open でファイルハンドルを受けるのも変数にすればよいのではないでしょうか。 5.6以降なら問題なく使えるはずです。 use strict; open my $f, '<', '<file.txt' or die $!; while(<$f>){ &abc($_); } close $f; sub abc(){ my $str = shift; open my $f,'>>', 'file2.txt' or die $!; print $f $str; close $f; } >他にも、どこかのサブルーチンでsortを使ったスクリプト中で、$aを使った時もおかしな挙動をしたことがあります。 $a, $b は sort で使われるプレースホルダーなので、それ以外の用途で 使う変数にはしないほうがよいでしょうね。