in reply to How come undef eq '' ??

The earlier excellent answers have already answered your question.

The best description of the why behind Perl context that I have seen is the free Modern Perl book. I encourage you to read the short opening The Perl Philosophy chapter, which contains a clear description of contexts in Perl. Especially note the "Numeric, String, and Boolean Context" section.

See also: Definition of numerically equal and rationale for 'you' == 'me'

Replies are listed 'Best First'.
Re^2: How come undef eq '' ??
by tmharish (Friar) on Jan 30, 2013 at 17:13 UTC

    Guess the essence is:

    Unless you really know how Perl works ... use strict; use warnings;

    Thanks for the link

      I thought 'use warnings' was discouraged for published modules? I've always added it for development, but removed for distribution.

        perlmodlib begs to differ:

        Try to use warnings; (or use warnings qw(...); ). Remember that you can add no warnings qw(...); to individual blocks of code that need less warnings.