将哈希值分配给哈希

时间:2010-11-14 02:48:39

标签: perl hash

现在我有两个哈希。我想将一个完整的哈希值分配给第二个哈希中的id。但是,我无法将该哈希值分配给另一个哈希值。

您可以通过以下方式将哈希分配到另一个哈希:

$nodes{$id}=%nodeHash;

现在这不起作用,因为当我说:

print Dumper(\%nodes);

我得到了这个结果:

$VAR1 = {
      'c2' => '4/8',
      'c1' => {}
    };

对不起,如果这不是完全有意义的话,我不是一个非常有经验的程序员,所以散列哈希非常复杂。

3 个答案:

答案 0 :(得分:20)

仅聚合商店标量。因此,使用ref运算符来获取散列值:

$nodes{$id} = \%node_hash;

或者,有时稍微更安全一点,分配一个新的并将旧的复制到其中,然后返回新的参考:

$nodes{$id} = { %node_hash };

答案 1 :(得分:8)

哈希值必须是标量,因此您需要分配哈希引用:

$nodes{$id} = \%nodeHash;

答案 2 :(得分:5)

您不能使用哈希作为值,但您可以使用对哈希的引用; $nodes{$id} = \%nodeHash;

相关问题