这是 usex.pl:
#use strict;
require 'x.pl';
print $x;
这是x.pl:
#use strict;
our $x = 99;
1;
如图所示,它运行良好。如果我取消注释在 usesx.pl 中使用 strict 的行,我会得到
Global symbol "$x" requires explicit package name
在 x.pl 中是否使用 strict 似乎并不重要(除非我删除了 'our' 关键字,但我对此不感兴趣。)
我对 Perl 还很陌生。为什么 strict 使 $x 在主脚本中不可见,对此的正常解决方案是什么?