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