关于Perl中的BEGIN{Push….}

关于Perl中的BEGIN{Push….},perl,Perl,在一些perl程序中,我看到它们以 BEGIN { push(@INC, '/home/usr1/Modules'); } 我想知道这一部分打算做什么?这确保目录/home/usr1/modules中包含的任何perl模块都可以使用 当键入使用ModuleName时,Perl将在@INC中的每个目录中搜索文件ModuleName.pm这确保目录/home/usr1/modules>中包含的任何Perl模块都可供使用 当键入使用ModuleName时,Perl将在@INC中的每个目录中搜索文件M

在一些perl程序中,我看到它们以

BEGIN
{
push(@INC, '/home/usr1/Modules');
}

我想知道这一部分打算做什么?

这确保目录
/home/usr1/modules
中包含的任何perl模块都可以使用


当键入
使用ModuleName
时,Perl将在
@INC
中的每个目录中搜索文件
ModuleName.pm

这确保目录
/home/usr1/modules>中包含的任何Perl模块都可供使用


当键入
使用ModuleName
时,Perl将在
@INC
中的每个目录中搜索文件
ModuleName.pm

,但为什么不简单地使用lib'/my/path'?从1995年开始提供core。。是的,那也行。老实说,通过在我的bash概要文件中设置环境变量
PERL5LIB
,我的所有模块都就位了,所以这两个东西都不是真正的necessary@asf107,
PERL5LIB
在污染模式下被忽略,这对您来说可能永远都不是问题,但在安全环境中可能是问题。但为什么不简单地使用lib'/my/path'?从1995年开始提供core。。是的,那也行。老实说,通过在我的bash概要文件中设置环境变量
PERL5LIB
,我的所有模块都就位了,所以这两个东西都不是真正的necessary@asf107,
PERL5LIB
在污染模式下被忽略,这对您来说可能永远都不是问题,但在安全环境中可能是问题。的可能重复