use List::MoreUtils qw(any); foreach my $k (keys %test_hash) { if (not any { exists $_->{$k} } \%hash1, \%hash2, \%hash3, \%hash4) { print $k; } }