foreach my $val (values %hash) { if (ref $val eq 'HASH') { # Update: oops, was numeric equality; thanks chromatic print "Hash\n"; } else { print "Not Hash\n"; } }