2006/12/04(月)Perlと標準入出力ファイルハンドル
Perlで「use strict」で使用している場合、ファイルハンドルを動的に生成し変数に代入するには一工夫する必要がありました。
さらに、このファイルハンドルに標準入力などを代入する場合、
my $fh = 'STDOUT';
ではダメで、
my $fh = *STDOUT;
とします。少々気持ち悪い感じもしますが、STDOUTという定義済の名前に対する型グロブを与えることになります。Symbolなどのライブラリをみると分かりますが、動的ファイルハンドルの実体は、特定の名前に対する型グロブになっています。