5

私はこのドキュメントを読んで、Perlプログラムのライフサイクルを理解しています。

次のようなコマンドラインでPerlスクリプトを実行しているときに、実行時とコンパイル時のイベントが発生するのはいつですか。

perl my_script.pl
4

1 に答える 1

15

perl script.plコンパイルしscript.plてから実行しscript.plます。同様に、require Module;コンパイルしModule.pmてから実行しModule.pmます。

コンパイラがブロックに遭遇するBEGINと、ブロックがコンパイルされるとすぐにブロックを実行します。と、場合によってはで構成されるブロックであるuseことに注意してください。BEGINrequireimport

例えば、

# script.pl
use Foo;
my $foo = Foo->new();
$foo->do();

行う:

  1. コンパイルscript.pl
    1. コンパイルuse Foo;
    2. 実行するrequire Foo;
      1. コンパイルFoo.pm
        1. ...
      2. 実行するFoo.pm
        1. ...
    3. 実行するimport Foo;
    4. コンパイルmy $foo = Foo->new();
    5. コンパイル$foo->do();
  2. 実行するscript.pl
    1. 実行するmy $foo = Foo->new();
    2. 実行する$foo->do();
于 2013-02-08T07:29:26.140 に答える