我有两个哈希。
%哈希1:
cavallaro; amg;
gariboldi; amg;
dalfabbro; mdg_dig;
valerio; apb_fmtrd;
Run Code Online (Sandbox Code Playgroud)
%hash2 :
cavallaro; 32;
gariboldi; 6;
dalfabbro; 62;
valerio; 19;
Run Code Online (Sandbox Code Playgroud)
我想通过这样的键组合它们;
cavallaro; 32; amg;
gariboldi; 6; amg;
dalfabbro; 62; mdg_dig;
valerio; 19; apb_fmtrd;
Run Code Online (Sandbox Code Playgroud)
我将如何为同一个键添加多个值。请,任何建议将不胜感激。
您可以在每个键上存储一个数组引用:
#! /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;
Run Code Online (Sandbox Code Playgroud)
输出:
$VAR1 = {
'gariboldi' => [
'6',
'amg'
],
'valerio' => [
'19',
'apb_fmtrd'
],
'dalfabbro' => [
'62',
'mdg_dig'
],
'cavallaro' => [
'32',
'amg'
]
};
Run Code Online (Sandbox Code Playgroud)