ooh boy where do i start ...<br>
<br>
sub foo {<br>
&nbsp;my $device = {}; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # create an anonymous rash<br>
 &nbsp;$config{$cfg}{device} = $device; &nbsp; &nbsp;# And stick it to the major<br>
data structure<br>
<br>
$$device{$devId}{status) = &#39;ok&#39;; &nbsp; &nbsp; &nbsp; &nbsp; # fill up the anonymous rash<br>
$$device{$devId}{msgCnt}++;<br>
}<br>
<br>
...<br>
<br>
our %device;&nbsp; # use strict or else<br>
{ local *device = $config{$cfg}{device}; # an alias just for me<br>
&nbsp; $status = $device{$devId}{status}; # ahh, here it is<br>
}<br><br>
there you go!<br>
<br><div><span class="gmail_quote">On 4/10/07, <b class="gmail_sendername"><a href="mailto:adam.prime@utoronto.ca">adam.prime@utoronto.ca</a></b> &lt;<a href="mailto:adam.prime@utoronto.ca">adam.prime@utoronto.ca</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;"><br>Do you really want a reference to a reference to a hash here?<br><br>$config{$cfg}{device} = \$device;
<br><br>That looks like the root of the problem to me.&nbsp;&nbsp;should be:<br><br>$config{$cfg}{device} = $device;<br><br>to work with the rest of your code i&#39;d think, not having tested anything.<br><br>Adam<br><br><br><br><br>
<br>Quoting Fulko Hew &lt;<a href="mailto:fulko.hew@gmail.com">fulko.hew@gmail.com</a>&gt;:<br><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<br>&gt; 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>&gt; _______________________________________________<br>&gt; toronto-pm mailing list<br>&gt; <a href="mailto:toronto-pm@pm.org">toronto-pm@pm.org</a><br>&gt; <a href="http://mail.pm.org/mailman/listinfo/toronto-pm">http://mail.pm.org/mailman/listinfo/toronto-pm
</a><br>&gt;<br><br><br><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>