if(scalar @{[ delete @hash{keys %hash} ]}) { print "Hash was not empty\n"; } else { print "Hash was empty\n"; } #### if(grep defined($_), values %hash) { ... }