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

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...