Perlで始まる{...};

Perlで始まる{...};

Perlスクリプトがあります。

#!/usr/bin/perl 

BEGIN {
        print "That's BEGIN message\n";
BEGIN { print "That's BEGIN-2 message\n"; };
END { print "That's END message\n"; };
BEGIN { print "That's BEGIN-3 message\n"; };
};

次のように動作します。

That's BEGIN-2 message
That's BEGIN-3 message
That's BEGIN message
That's END message

しかし、なぜ?ライン1に印刷する必要がありますかThat's BEGIN message、それともいいですか?

ベストアンサー1

最初はBEGIN実行されるまで実行されません。完全定義(参照文書)これは最後のエピソードが終わるまで起こりません。}

他のものは以前に完全に定義された条件下で機能します。

おすすめ記事