<?xml version="1.0" encoding="windows-1252"?>
<node id="565025" title="Re: !0 is not necessarily 1 (was Re: Secret Perl Operators: the boolean list squash operator, x!!)" created="2006-08-01 11:40:17" updated="2006-08-01 07:40:17">
<type id="11">
note</type>
<author id="510280">
shmem</author>
<data>
<field name="doctext">
&lt;blockquote&gt;&lt;i&gt;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.&lt;/i&gt;&lt;/blockquote&gt;
That artifact of implementation possibly resides in &lt;c&gt;handy.h&lt;/c&gt;
&lt;small&gt;&lt;c&gt;
#ifdef TRUE
#undef TRUE
#endif
#ifdef FALSE
#undef FALSE
#endif
#define TRUE (1)
#define FALSE (0)
&lt;/c&gt;&lt;/small&gt;
&lt;p&gt;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
&lt;c&gt;
#define TRUE (2.718281525)
&lt;/c&gt;
&lt;p&gt;--shmem
&lt;!-- Node text goes above. Div tags should contain sig only --&gt;
&lt;div class="pmsig"&gt;&lt;div class="pmsig-510280"&gt;
&lt;small&gt;&lt;pre&gt;_($_=" "x(1&lt;&lt;5)."?\n".q·/)Oo.  G°\        /
                              /\_¯/(q    /
----------------------------  \__(m.====·.(_("always off the crowd"))."·
");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e &amp;&amp; print}&lt;/pre&gt;&lt;/small&gt;
&lt;/div&gt;&lt;/div&gt;</field>
<field name="root_node">
564792</field>
<field name="parent_node">
564996</field>
</data>
</node>
