use strict; use warnings; local $\ = "\n"; my %hash; print '$hash{a} ', ( $hash{a} ) ? "true" : "not true"; print '$hash{a} ', ( defined $hash{a} ) ? "defined" : "not defined"; print '$hash{a} ', ( exists $hash{a} ) ? "exists" : "doesn't exist"; print ""; print '$hash{a}{b} ', ( $hash{a}{b} ) ? "true" : "not true"; print '$hash{a}{b} ', ( defined $hash{a}{b} ) ? "defined" : "not defined"; print '$hash{a}{b} ', ( exists $hash{a}{b} ) ? "exists" : "doesn't exist"; print ""; print '$hash{a} ', ( $hash{a} ) ? "true" : "not true"; print '$hash{a} ', ( defined $hash{a} ) ? "defined" : "not defined"; print '$hash{a} ', ( exists $hash{a} ) ? "exists" : "doesn't exist";