我的主要Perl脚本包含
my $System = {
Path =>
{
root => 'hello'
}
}
print $System->{'Path'}->{'root'}; # prints 'hello'
如何从外部模块访问$System->{'Path'}->{'root'}
变量?
我知道我可以使用main::
命名空间来检索全局变量,例如$main::x
,但以下内容不起作用$main::System->{'Path'}->{'root'}
。
我也尝试了不同的语法,但我无法得到它。
我做错了什么?
答案 0 :(得分:2)
使用my
声明的变量仅具有词法范围,并且在包中不可见。
改为使用our
声明。
答案 1 :(得分:1)
“应对范围界定”:
http://perl.plover.com/FAQs/Namespaces.html