BEGIN和INIT块的返回值?

勒格

我正在浏览(自制的)Perl代码库,并且看到:

# BEGIN blocks :
BEGIN {
    ... #do stuff
    return 1;
}

#INIT blocks :
INIT {
    ... #do stuff
    return 1;
}

我在aBEGININITblock中找不到有关返回值的影响(或缺乏影响)的任何信息

我的问题:
aBEGININITblock的返回值是否对模块的编译或执行有影响?

勒格

我尝试了以下测试用例:

#file TestModule.pm :
package TestModule;

BEGIN {
    print "BEGIN -- TestModule\n";
    return 0; # guessing a value which would mean "something went wrong"
}

INIT {
    print "INIT -- TestModule\n";
    return 0; # guessing a value which would mean "something went wrong"
}

1;

#file test.pl :

#!/usr/bin/perl

use TestModule;

print "Hello!\n";

test.pl脚本愉快地运行:

$ perl test.pl
BEGIN -- TestModule
INIT -- TestModule
Hello !

这使我认为返回值无效。

我只想得到更强有力的确认。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章