<?xml version="1.0" encoding="windows-1252"?>
<node id="852462" title="Re^3: Numification of strings" created="2010-08-02 08:33:32" updated="2010-08-02 08:33:32">
<type id="11">
note</type>
<author id="352046">
ww</author>
<data>
<field name="doctext">
&lt;blockquote&gt;"&lt;i&gt;but it's only about converting undef&lt;/i&gt;"&lt;/blockquote&gt;

&lt;p&gt;Lest [LanX|you] or anyone else read that as generally true, I repeat, for emphasis re &lt;c&gt;warnings&lt;/c&gt; (or for brevity here, &lt;c&gt;-w&lt;/c&gt;) and re 'consistent':&lt;/p&gt;

&lt;c&gt;perl -we "$x="LanX"; print ($x * 3);"
Argument "LanX" isn't numeric in multiplication (*) at -e line 1.
0
perl -we "$x="LanX"; print ($x % 3);"
Argument "LanX" isn't numeric in modulus (%) at -e line 1.
0
perl -we "$x="LanX"; print (3^$x);"
Argument "LanX" isn't numeric in bitwise xor (^) at -e line 1.
3
perl -we "$x="LanX"; print (3**$x);"
Argument "LanX" isn't numeric in exponentiation (**) at -e line 1.
1&lt;/c&gt;
&lt;p&gt;but&lt;/p&gt;

&lt;c&gt;perl -we "$x='7LanX'; print (3^$x);"
Argument "7LanX" isn't numeric in bitwise xor (^) at -e line 1.
4
perl -we "$x='7LanX'; print ($x*3);"
Argument "7LanX" isn't numeric in multiplication (*) at -e line 1.
21
perl -we "$x='7LanX'; print (3**$x);"
Argument "7LanX" isn't numeric in exponentiation (**) at -e line 1.
2187&lt;/c&gt;

&lt;p&gt;and where it's useful -- using a string as a number because it's being used in an operation which is arithmetic:&lt;/p&gt;

&lt;c&gt;perl -we "$x=\"5\"; print ($x*3);"  # 2
15
perl -we "$x='5'; print ($x*3);"
15&lt;/c&gt;

&lt;p&gt;&lt;b&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/b&gt; &amp;nbsp; Interesting (or not enough coffee yet?): doze balked at doublequotes without escapes here, but passed 'em cheerfully above. WTF?&lt;/p&gt;
</field>
<field name="root_node">
852379</field>
<field name="parent_node">
852448</field>
</data>
</node>
