微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Perl中结合哈希值?

将两个哈希值合并到%hash1中的最佳方法是什么?我总是知道%hash2和%hash1总是有唯一的键。我也喜欢单行代码,如果可能的话。
$hash1{'1'} = 'red';
$hash1{'2'} = 'blue';
$hash2{'3'} = 'green';
$hash2{'4'} = 'yellow';

解决方法

快速回答(TL; DR)
%newHash = (%hash1,%hash2); %hash1 = %newHash;

## or else ...

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

## or else ...

%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关联数组或字典)

原文地址:https://www.jb51.cc/Perl/173550.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐