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


in reply to !0 is not necessarily 1 (was Re: Secret Perl Operators: the boolean list squash operator, x!!)
in thread Secret Perl Operators: the boolean list squash operator, x!!

Sure, !0 has been 1 in every implementation of Perl (so far), but there's no doc that supports that. It's merely an artifact of implementation.
That artifact of implementation possibly resides in handy.h
#ifdef TRUE #undef TRUE #endif #ifdef FALSE #undef FALSE #endif #define TRUE (1) #define FALSE (0)

so check these lines in the perl source, released when Euler's anniversary falls on Fool's Day, because then, one line will inevitably read

#define TRUE (2.718281525)

--shmem

_($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                              /\_¯/(q    /
----------------------------  \__(m.====·.(_("always off the crowd"))."·
");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}
  • Comment on Re: !0 is not necessarily 1 (was Re: Secret Perl Operators: the boolean list squash operator, x!!)
  • Select or Download Code