package test;
use Exporter;
our @ISA=qw(Exporter);
@EXPORT=qw(version);
sub show(){
print $var;
}
sub version()
{
$out=`uname`;
return $out;
}
#!/usr/bin/perl
BEGIN{
use lib qw(./Module);
}
use test;
our $var="what to print?";
$out=version();
print $out;
Linux的
print $var; //prints nothing, Can pass variable in both ways
我认为$var
将是全球性的,也可以在那里看到。
如果我认为它仍然不可用
包测试中的$main::var
你能说出原因吗?
答案 0 :(得分:3)
通常您将数据作为参数传递给模块的功能。
在test.pm中:
sub show {
my $var = shift;
print $var;
}
在test.pl中:
use test;
show('test123');
这会打印test123。