2013-05-28 56 views
0
my %main_hash = ( 
    'hash1' => { 
     'key1' => '1-111', 
     'key2' => '1-222', 
     'key3' => '1-333' 
    }, 
    'hash2' => { 
     'key1' => '2-111', 
     'key2' => '2-222', 
     'key3' => '2-333' 
    } 
); 

如何比較內部哈希(hash1)的鍵值(1-111,1-222,1-333)與相應的值以下列表:如何比較以下HoH的內部哈希值與另一個列表的內部哈希值

$list= thekey1is : 1-111 
     thekey2is : 1-222 
     thekey3is : 1-333; 

並保持每個比較結果的標誌?

+0

要比較的數值是HASH1和那些後「:」在變量$列表。 – Dcoder

回答

-1

你可以做這樣的事情

#get all the keys 
my @keys = keys %{ $main_hash{hash1} }; 

#check for each key 
for my $key (@keys) { 

    if ($main_hash{hash1}{$key} == $main_hash{hash2}{$key}){ 
     print "$main_hash{hash1}{$key} and $main_hash{hash2}{$key} Match \n", 
    } 
    else{ 
     print "$main_hash{hash1}{$key} and $main_hash{hash2}{$key} Do not match \n", 
    } 


} 
+0

你的意思是'%main_hash =(...)' – chrsblck

相關問題