0

を含むメインの Perl スクリプトがあります。

my $System = {
    Path =>
    {
        root => 'hello'
    }
}

print $System->{'Path'}->{'root'}; # prints 'hello'

$System->{'Path'}->{'root'}外部モジュールから変数にアクセスするにはどうすればよいですか?

main::名前空間を使用して などのグローバル変数を取得できることはわかっています$main::xが、次のコードは機能しません$main::System->{'Path'}->{'root'}

さまざまな構文も試しましたが、取得できません。

私は何を間違っていますか?

4

2 に答える 2

2

で宣言された変数myはレキシカル スコープのみを持ち、パッケージ内では表示されません。

our代わりに宣言してください。

于 2011-09-05T08:01:22.680 に答える
1

「スコーピングへの対処」:

  http://perl.plover.com/FAQs/Namespaces.html
于 2011-09-05T17:07:40.973 に答える