<?xml version="1.0" encoding="windows-1252"?>
<node id="977476" title="Re^3: symboltable problem" created="2012-06-20 17:26:18" updated="2012-06-20 17:26:18">
<type id="11">
note</type>
<author id="888573">
Eliya</author>
<data>
<field name="doctext">
&lt;p&gt; I think the problem is that &lt;c&gt;%Bubba:: = %Hubba::&lt;/c&gt; is creating a &lt;i&gt;new&lt;/i&gt; hash, which destroys the binding of &lt;c&gt;$Bubba::abba&lt;/c&gt; to the original hash set up at compile time of the latter expression.&amp;nbsp; This reasoning is based on the observation that both of the following work fine: &lt;/p&gt;
&lt;c&gt;
#!/usr/bin/perl
use strict;

$Hubba::abba = "zappa\n";

%Bubba:: = %Hubba::;

# compile time deferred
eval 'print $Bubba::abba';
&lt;/c&gt;
&lt;c&gt;
#!/usr/bin/perl
use strict;

$Hubba::abba = "zappa\n";

# copying via hash slice doesn't create new hash
@Bubba::{keys %Hubba::} = @Hubba::{keys %Hubba::};
# or: @Bubba::{keys %Hubba::} = values %Hubba::;

print $Bubba::abba;
&lt;/c&gt;
</field>
<field name="root_node">
977406</field>
<field name="parent_node">
977452</field>
</data>
</node>
