我真的不明白 Perl 模块中的作用域是如何工作的。这不会打印任何东西。如果运行 a.pl 打印 1 我希望
下午
$f=1;
a.pl
use b;
print $f
您应该从阅读手册中的 Perl 模块开始:perldoc perlmod
在命令行中,或访问http://perldoc.perl.org/perlmod.html。
简短回答:很可能是因为您在不区分大小写的文件系统上运行此代码,在该文件系统中请求模块b
会加载内置模块B
。您的模块根本没有加载。如果你 rename b
,你会得到你期望的结果。
更长的答案包括很多对未能遵守甚至最小的良好做法的指责,并且已被省略。