for my $k1 ( grep defined $h2{ $_ }, keys %h1 ) { for my $k2 ( grep defined $h2{ $k1 }{ $_ }, keys %{ $h1{ $k1 } } ) { dance() if $h1{ $k1 }{ $k2 } eq $h2{ $k1 }{ $k2 }; } }