perl - 如何在 Perl 中组合哈希值?

标签 perl dictionary hash merge

将两个哈希合并到 %hash1 中的最佳方法是什么?我一直知道 %hash2 和 %hash1 总是有唯一的键。如果可能的话,我也更喜欢一行代码。

$hash1{'1'} = 'red';
$hash1{'2'} = 'blue';
$hash2{'3'} = 'green';
$hash2{'4'} = 'yellow';

最佳答案

快速回答(TL;DR)


    %hash1 = (%hash1, %hash2)

    ## or else ...

    @hash1{keys %hash2} = values %hash2;

    ## or with references ...

    $hash_ref1 = { %$hash_ref1, %$hash_ref2 };

概述

  • 上下文:Perl 5.x
  • 问题:用户希望将两个哈希值1合并为一个变量

解决方案

  • 对简单变量使用上面的语法
  • 对复杂的嵌套变量使用 Hash::Merge

陷阱

另请参阅

<小时/>

脚注

1 *(又名 associative-array 、又名 dictionary )

关于perl - 如何在 Perl 中组合哈希值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/350018/

相关文章:

perl - 来自 HTTP POST 操作的错误代码 302

linux - 从日志文件中搜索值和计数

regex - 如何使用字符串而不是字符创建类似否定字符类的东西?

c++ - 一次打印多个相等键的值 C++

python - dict.pop与dict.get的默认返回值

algorithm - 为自定义结构生成唯一哈希?

arrays - 在有但有一个转折中获得完全匹配

c++ - 如何获取存储在 C++ 列表中的类对象?

c - 如何在恒定时间内检查一组非重叠范围内的范围

python - 为什么这个 python 类实例是可哈希的?