Как сравнить значения внутреннего хэша следующего HoH со значениями из другого списка
my %main_hash = (
'hash1' => {
'key1' => '1-111',
'key2' => '1-222',
'key3' => '1-333'
},
'hash2' => {
'key1' => '2-111',
'key2' => '2-222',
'key3' => '2-333'
}
);
Как сравнить ключевые значения (1-111,1-222,1-333) внутренних хешей (hash1) с соответствующими значениями следующего списка:
$list= thekey1is : 1-111
thekey2is : 1-222
thekey3is : 1-333;
и поддерживать флаг для результата каждого сравнения?
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",
}
}