you&#39;re a php guy, right?<br>
<br>
$x = (); is a list assignment to a scalar.&nbsp; scalar conversion
results in the scalar ($x that is) being assigned the count of the
number of items in the list.&nbsp; 0 or zero.<br>
<br>
$x = {}; assigns a reference to an anonymous hash.<br><br><div><span class="gmail_quote">On 4/10/07, <b class="gmail_sendername">Fulko Hew</b> &lt;<a href="mailto:fulko.hew@gmail.com">fulko.hew@gmail.com</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">On 4/10/07, Fulko Hew &lt;<a href="mailto:fulko.hew@gmail.com">fulko.hew@gmail.com</a>&gt; wrote:
<br>&gt; I always seem to have a problem dereferencing anonymous hashes...<br>&gt; (a mental block, or I&#39;m just mental!)<br>&gt;<br>&gt; In a subroutine I create the thing as such:<br>&gt;<br>&gt; sub foo {<br>&gt;&nbsp;&nbsp;
my $device =
{};&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# create an anonymous hash<br>&gt;&nbsp;&nbsp; $config{$cfg}{device} = \$device;&nbsp;&nbsp;&nbsp;&nbsp;# And stick it into the major data structure<br>&gt;<br>&gt; $device{$devId}{status) = &#39;ok&#39;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # and populate the anonymous hash<br>
&gt; $device{$devId}{msgCnt}++;<br>&gt; }<br>&gt;<br>&gt; Then later on I want to extract the status:<br>&gt;<br>&gt; my %device = ${$config{$cfg}{device}};<br>&gt; $status = $device{$devId}{status};<br>&gt;<br>&gt; but this isn&#39;t quite right.&nbsp;&nbsp;;-(
<br><br>Answering my own question...<br>I was close, but not cigar.&nbsp;&nbsp;What I should have been using was:<br><br>my $device = ();<br> ...<br>my %device = %{$config{$cfg}{device}};<br><br>because the reference I was trying to retrieve was a reference to a hash,
<br>not a reference to a scalar as in my first &#39;n&#39; tries.<br><br>I&#39;m sure I had the dereference correct a number of times, but without<br>the anonymous hash creation correct at the same time, It didn&#39;t<br>
work.... Nope, I just tried it as: my $device = {}; and that still<br>worked.&nbsp;&nbsp;It makes me wonder then... whats the subtle difference<br>between<br>$x = () and $x = {} when dealing with hashes and their references?<br>_______________________________________________
<br>toronto-pm mailing list<br><a href="mailto:toronto-pm@pm.org">toronto-pm@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/toronto-pm">http://mail.pm.org/mailman/listinfo/toronto-pm</a><br></blockquote></div>
<br>