in reply to Re: testing defined($x) && length($x)
in thread testing defined($x) && length($x)

No, it still has the '0' false negative:

$ perl -e '$x = 0; print "failed\n" unless $x and length($x)' failed $

vs.

$ perl -e '$x=0; $ print "failed\n" unless defined $x and length($x)' $