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


in reply to Re^2: NaNs are true (NaN == 0 -> true? Really?)
in thread NaNs are true

What about idea that NaN never matches numerical comparison?
NaN == 0 #false NaN != 0 #false NaN == NaN #false NaN != NaN #false

Replies are listed 'Best First'.
Re^4: NaNs are true (NaN == 0 -> true? Really?)
by BrowserUk (Patriarch) on Feb 27, 2011 at 12:11 UTC

    I think all of those are correct, though not particularly useful. They should also prompt (at least) a warning, though I think a catchable exception is better.

    You also have to be careful to distinguish between a variable containing NaN, and a constant NaN I think.

    That is, I think the only time any comparison involving a variable containg NaN should result in a true value, is if it is compared against a predefined constant NaN; were one to be provided. Though an isNaN( $x ) function or equivalenly $x->isNan() method would serve the same purpose and be less likely to confuse.


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.