use Data::Dump; $FOO::ONE = 1; *BAR:: = *FOO::; $BAR::ONE = 2; dd \%BAR::, \%FOO::; dd \*BAR::; __END__ do { my $a = { ONE => *FOO::ONE }; $a->{ONE} = \1; ($a, $a); } do { my $a = \*main::FOO::; *{$a} = { ONE => *FOO::ONE }; *{$a}{HASH}{ONE} = \1; $a; }