2013-05-28 3 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' 
    } 
); 

Comment comparer les valeurs de clé (1-111,1-222,1-333) des hachages internes (hachage 1) avec les valeurs correspondantes de la liste suivante:Comment comparer les valeurs de hachage internes de HoH suivantes avec celles de l'autre liste

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

et de maintenir un indicateur pour le résultat de chaque comparaison?

+0

les valeurs à comparer sont celles de hash1 et ceux après « : » dans la variable $ liste. – Dcoder

Répondre

-1

Vous pouvez faire quelque chose comme ça

#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

Vous voulez dire '% main_hash = (...)' – chrsblck

Questions connexes