式のフォーマットをデラレするサブルーチンがありeval
ます。このサブルーチンが 2 回以上呼び出されると、perl はフォーマットが再定義されたことを警告します。
このコード:
use warnings;
routine();
routine();
sub routine{
my $s = "FAIL";
my $def = "format =\n@<<<<@>>>>\n\$s, \$s\n.";
eval $def;
write;
}
版画
FAIL FAIL
Format STDOUT redefined at (eval 2) line 1.
FAIL FAIL
サブルーチンの最後にあるフォーマット宣言を削除することはできますか?