my %hash = ( key => 'value'); my $k_ref = \$hash{key} ; *{'main::val'} = $k_ref ; ## To avoid $$k_ref print "val: <$val>\n" ; print "key: <$hash{key}>\n" ; { local( $val )= 'test' ; print "val: <$val>\n" ; print "key: <$hash{key}>\n" ; } #### val: key: val: key: #### my $saved= *main::val{SCALAR}; *main::val= do { my $new; \$new }; ... *main::val= $saved;