perl - 将哈希分配给哈希

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

你可以通过说以下内容将一个散列分配给另一个散列吗:

$nodes{$id}=%nodeHash;

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

print Dumper(\%nodes);

结果是这样的:

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

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

最佳答案

仅聚合存储标量。因此,使用 ref 运算符对散列进行引用:

$nodes{$id} = \%node_hash;

或者,有时更安全一些,分配一个新的并将旧的复制到其中,然后返回新的引用:

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

https://stackoverflow.com/questions/4175946/

相关文章:

ruby-on-rails - 手动安装 Xcode 命令行工具不起作用

memory - 使用 16 位整数的重要性

python - 有效地比较python中的两组

php - 如何在php中检查文件是否为视频类型?

arrays - 确定一个值是否在排序数组中的 O 时间是多少?

performance - 给 Perl 的 print 一个列表或一个连接的字符串是否更快?

git - 致命的 : failed to read object Inter

c# - 确认信息

php - Laravel 检查数组是否为空

php - 如何从页面(php)获取所有网址