in reply to What is the correct definition of False and Null in Perl?
Zero (in any format), the empty string and undef are false, as documented in perlsyn. Objects can also evaluate to false through overloading.
The reason zero in every format must be false is quite simple. If zero in some formats is false and zero is some other formats is true, something false could became true just by looking at it because Perl is free to convert between equivalent representations. That would be very bad.
That means that signed integer (IV) zero is false, unsigned integer (UV) zero is false, floating point (NV) zero is false, basic string (PV,UTF=0) zero is false, and wide string (PV,UTF8=1) zero is false.
PS — I don't know which Perl book talked of "null value" and "null variable", because Perl has no such thing. Perhaps you mean undef?
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: What is the correct definition of False and Null in Perl?
by Anonymous Monk on Oct 08, 2011 at 10:48 UTC | |
by ikegami (Patriarch) on Oct 09, 2011 at 05:50 UTC | |
Re^2: What is the correct definition of False and Null in Perl?
by flexvault (Monsignor) on Oct 08, 2011 at 11:27 UTC |