我有两个文件,下面的文件是“Packages_module.pl”,
use pack_modules;
$var = 1;
print "var is $var\n";
&pack_module::check_scope($var);
print "var is $var\n";
第二个文件是“pack_modules.pm”,代码如下
package pack_module;
use Exporter;
@ISA = qw/Exporter/;
@EXPORT = qw/$var/;
our ($var);
sub check_scope
{
$var = 3;
}
1;
当我运行 pack_modules.pm 时,我得到了以下结果。
var is 1
==========
Using Module Subroutine:
var is 1
==========
第一次,'$var' 显然是 1,但第二次它再次给出 1 而不是 3。谁能告诉我为什么“pack_module”的值在“Packages_module”中不可见。