Perl从参考创建哈希

时间:2018-06-28 12:49:12

标签: string perl hash reference

我有一个包含哈希引用的字符串,例如:

my $string = "HASH(0x5602d43a7648)";

如何从此引用访问哈希并打印出其值和键?

1 个答案:

答案 0 :(得分:2)

你不能,为时已晚。

如果变量包含引用,则可以取消引用,

my $hash_ref = { a => 42 };
my %hash = %{ $hash_ref };

但是一旦将其字符串化,就无法进行:

my $string = "$hash_ref";

要在散列中创建散列或“哈希散列(HoH)”,请使用引用,而不是字符串:

my %hash = ( key1 => { subkey1 => 'val1',
                       subkey2 => 'val2' },
             key2 => { subkey3 => 'val3' } );
print $hash{key1}{subkey2}, "\n";  # val2