我正试图将主脚本中声明的our
全局变量的内容保存到模块中的my
词法变量中。
main.pl
use strict;
use warnings;
use module;
our $global = "Hello";
function();
模块.pm
package module;
use strict;
use warnings;
use Exporter 'import';
our @EXPORT = qw( function );
# some needed initialization & definition before subs
my $var = $main::global;
sub function {
print $var,"n";
}
1;
我面临的问题:使用未初始化的值$var错误
即使我试着在作业下面打印,也无济于事!谢谢
通过创建一个包含我想要的所有全局变量的模块,我终于得到了我想要的。并在需要时随处使用。
它看起来像这个
package Globals;
use Exporter 'import';
our @EXPORT = qw( $VERSION $DEV_EMAIL $BASEDIR $CURRENT_PROJECT );
our $VERSION = "0.0.1";
our $DEV_EMAIL = "FOO@BAR.COM";
our $BASEDIR = "./Projects/";
our $CURRENT_PROJECT = '';
1;
其他包.pm
package OtherPackage
use Globals;
my $var = $VERSION
# do something with $var
print $var;
1;