我有哈希。
%hash1:
cavallaro; amg;
gariboldi; amg;
dalfabbro; mdg_dig;
valerio; apb_fmtrd;
%hash2:
cavallaro; 32;
gariboldi; 6;
dalfabbro; 62;
valerio; 19;
我想用这样的键组合它们;
cavallaro; 32; amg;
gariboldi; 6; amg;
dalfabbro; 62; mdg_dig;
valerio; 19; apb_fmtrd;
如何为同一个键添加多个值。 请提出任何建议。
答案 0 :(得分:4)
您可以在每个键上存储数组引用:
#! /usr/bin/perl
use strict;
use warnings;
my %hash1 = qw( cavallaro amg
gariboldi amg
dalfabbro mdg_dig
valerio apb_fmtrd );
my %hash2 = qw( cavallaro 32
gariboldi 6
dalfabbro 62
valerio 19 );
my %r;
for my $k1 (keys %hash1) {
$r{$k1} = [ $hash2{$k1}, $hash1{$k1} ];
}
use Data::Dumper; print Dumper \%r;
输出:
$VAR1 = {
'gariboldi' => [
'6',
'amg'
],
'valerio' => [
'19',
'apb_fmtrd'
],
'dalfabbro' => [
'62',
'mdg_dig'
],
'cavallaro' => [
'32',
'amg'
]
};