2017-06-12 30 views
-2

私はハッシュハッシュを持っています。同じキーに複数の値をperlハッシュで追加する

%のHASH1:

cavallaro; amg; 
gariboldi; amg; 
dalfabbro; mdg_dig; 
valerio; apb_fmtrd; 

%のHASH2:私はこのようなキーによってそれらをcombinateたい

cavallaro; 32; 
gariboldi; 6; 
dalfabbro; 62; 
valerio; 19; 

cavallaro; 32; amg; 
gariboldi; 6; amg; 
dalfabbro; 62; mdg_dig; 
valerio; 19; apb_fmtrd; 

同じキーに複数の値を追加するにはどうすればよいですか。 お願いします。ありがとうございます。

+0

http://perldoc.perl.org/perldsc.html – toolic

+0

同じキーの複数の値? – choroba

+0

@chorobaはい、私は同じキーの複数の値が必要です。 – kawther

答えて

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' 
         ] 
     }; 
+0

どうすれば私は同じ値の合計を行うことができますか。 'amg' 6 + 32のような? – kawther

+9

新しい質問については、新しい質問をしてください。 – choroba

関連する問題