Как сравнить значения внутреннего хэша следующего 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",
    }


}
Другие вопросы по тегам