如何在Perl中结合哈希值?

前端之家收集整理的这篇文章主要介绍了如何在Perl中结合哈希值?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
将两个哈希值合并到%hash1中的最佳方法是什么?我总是知道%hash2和%hash1总是有唯一的键。我也喜欢单行代码,如果可能的话。
  1. $hash1{'1'} = 'red';
  2. $hash1{'2'} = 'blue';
  3. $hash2{'3'} = 'green';
  4. $hash2{'4'} = 'yellow';

解决方法

快速回答(TL; DR)
  1. %newHash = (%hash1,%hash2); %hash1 = %newHash;
  2.  
  3. ## or else ...
  4.  
  5. @hash1{keys %hash2} = values %hash2;
  6.  
  7. ## or else ...
  8.  
  9. %hash1 = (%hash1,%hash2)

概述

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

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

陷阱

>当两个哈希值都包含一个或多个重复键时该怎么做

>如果具有空值的键/值对是否覆盖具有非空值的键值对?
>(注意:原始问题排除了这种情况,但它是一个重要的考虑)

也可以看看

> PM post on merging hashes
> PM Categorical Q&A hash union
> Perl Cookbook 5.10. Merging Hashes
> websearch:// perlfaq“merge two hashes”
> websearch:// perl merge hash
> https://metacpan.org/pod/Hash::Merge

脚注

1 *(aka关联数组或字典)

猜你在找的Perl相关文章