我正在浏览(自制的)Perl代码库,并且看到:
# BEGIN blocks :
BEGIN {
... #do stuff
return 1;
}
#INIT blocks :
INIT {
... #do stuff
return 1;
}
我在aBEGIN
或INIT
block中找不到有关返回值的影响(或缺乏影响)的任何信息。
我的问题:
aBEGIN
或INIT
block的返回值是否对模块的编译或执行有影响?
我尝试了以下测试用例:
#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] 删除。
我来说两句