our %h; my $x = do { local %h=(a=>'3'); \%h }; my $y = do { local %h=(b=>'5'); \%h }; dd \%h; # {} dd $x; # { a => 3 } dd $y; # { b => 5 } #### use Symbol qw/gensym/; my $foo = gensym; *$foo->{bar} = 'quz'; dd \%Symbol::GEN0; # { bar => "quz" } #### sub gensym { \do{ local *ANONGLOB; *ANONGLOB } }