2

式のフォーマットをデラレするサブルーチンがあり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

サブルーチンの最後にあるフォーマット宣言を削除することはできますか?

4

1 に答える 1