#!/usr/bin/perl -w use strict; my %hash = (a => 1, b => 0, c => undef); foreach ('a' .. 'd') { print "\$hash{$_) : "; if (exists $hash{$_}) { if (defined $hash{$_}) { if ($hash{$_}) { print "exists, defined & true\n"; } else { print "exists, defined & false\n"; } } else { print "exists, undefined & false\n" } } else { print "non-existant, undefined & false\n"; } }