print() on closed filehandle ...
Perlでpostfixのaliasesファイル操作をしようとしていたところ,上記エラーが発生.
発生状況
open(ALIASES,">> /hoge/hoge/aliases");
for my $mail (@$refmail){
print ALIASES $mail.",";
}
close(ALIASES);
ALIASESをファイルハンドラとしてデータベースから引っ張ってきたメールアドレスをクラスの方で配列として,そのリファレンスを返してもらい,foreach文でデリファレンスして$mailとして回しながらaliasesに追記していこうとしたところうまくいかず,aliasesファイルには何も追記されない.
結論
単純な話,ファイルの書き込み権限がないだけだった.
Perlうんぬんというより,権限をしっかり確認しましょうというお話.
でも,そもそもこのままだと権限ゆるゆるなので考えなければいけない.
未熟者は精進したします.