in reply to using the define option
perldoc -f defined.
Quoth the Perldoc : "...You may also use defined() to check whether a subroutine exists. On the other hand, use of defined() upon aggregates (hashes and arrays) is not guaranteed to produce intuitive results, and should probably be avoided."
"This counterintuitive behaviour of defined() on aggregates may be changed, fixed, or broken in a future release of Perl." Unquoth the Perldoc.
This is why you're having problems. Also, remove that .sig. It's offensive.
Azatoth a.k.a Captain WhiplashMake Your Die Messages Full of Wisdom!