http://www.perlmonks.org?node_id=930377


in reply to Re^3: What is the correct definition of False and Null in Perl?
in thread What is the correct definition of False and Null in Perl?

The only specialty about "0 but true" are the missing messages under "warnings".

Yes. That is correct. "0 but true" is a special case that does not emit a warning when used in a numeric expression.

0E0 is the "standard way" of "true but zero".

0.0 is not quite the same as 0E0. The DBI uses 0E0. Ok, maybe 0.0 could have been used, but it wasn't. I think that it is pointless to debate 0E0 vs 0.0, 0E0 has won and so let's go to another question.

  • Comment on Re^4: What is the correct definition of False and Null in Perl?

Replies are listed 'Best First'.
Re^5: What is the correct definition of False and Null in Perl?
by LanX (Saint) on Oct 08, 2011 at 18:52 UTC
    > 0.0 is not quite the same as 0E0.

    I was talking about strings not literal numbers:

    DB<105> p !! "0.0" 1 DB<106> p !! "0E0" 1 DB<107> p !! 0E0 DB<108> p !! 0.0 DB<109> p 1 + "0E0" 1 DB<110> p 1 + "0.0" 1

    and by the way IMHO thats all hardly necessary.

    Can't think of a use case which can't be solved by calling a function in list context.

    Cheers Rolf

      Well that may be true. But the issue here is what did the other guys do? When we use an interface, we have to deal with it.