我有两个 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;
我知道它是 WRONG/NOT_CORRECT,但是当我使用限制时,我想要这种符号 ref 转换。我也想知道,是否可以用eval来做这件事。但我想要一个最终变量,这里是 $var1,它将引用特定的哈希(hashInfo);