答案 0 :(得分:15)
perl script.pl
将编译script.pl
,然后执行script.pl
。同样,require Module;
将编译Module.pm
,然后执行Module.pm
。
如果编译器遇到BEGIN
块,它将在块编译后立即执行块。请注意,use
是一个BEGIN
块,其中包含require
和import
。
例如,
# script.pl
use Foo;
my $foo = Foo->new();
$foo->do();
的作用:
script.pl
use Foo;
require Foo;
Foo.pm
Foo.pm
import Foo;
my $foo = Foo->new();
$foo->do();
script.pl
my $foo = Foo->new();
$foo->do();