Beefy Boxes and Bandwidth Generously Provided by pair Networks
Frank go ahead... be a heretic  Comment on  You make an
interesting observation, and it sounds like a documentation
patch may be in order, as you suggest, liz.   I wanted to follow
up by further exploring the exists, defined, and each functions.
First, exists:  The POD for exists states that 'exists' returns
truth if a hash or array element has been initialized, even if
its value is 'undef'.   my %hash = ('First' => 1, 'Second' =>
undef ); print "First\n" if exists $hash{'First'}; print
"Second\n" if exists $hash{'Second'}; print "Third\n" if exists
$hash{'Third'}; __OUTPUT__ First Second  So if the hash
element's value is undefined, but the element exists, exists
correctly detects the existance of an element.  defined can be a
little tricky if you don't think it through. For existant keys
with undef value, defined will return false, telling you that
'Second' is not defined. However, defined will also return false
for elements that don't exist ('