2 つの Perl パッケージがあります: pack_hash と pack_run
package pack_hash;
$VERSION = '1.00';
@ISA = qw( Exporter );
@EXPORT_OK = qw( %hashInfo );
$hashInfo{abc} = ['a', 'b', 'c'];
1;
package pack_run;
use stricts;
use warnings;
use Data::Dumper;
use pack_hash qw( %hashInfo );
somethingDoing();
sub somethingDoing {
my $var1 = \%pack_hash::hashInfo; # getting the hash reference
print Dumper($var1);
...
...
}
1;
次のような変数を使用して、ハッシュパッケージの名前( pack_hash )を置き換えることができるかどうか、誰でも教えてください。
my $pakVar = "pack_hash";
my $var1 = \%$pakVar::hashInfo;
私は、それが間違っている/正しくないことを知っていますが、制限を使用しているときに、この種のシンボリック ref 変換が必要です。また、 evalでできるかどうかも知りたいと思いました。しかし、特定のハッシュ ( hashInfo )を参照する最後の変数、ここでは $var1 が必要です。