X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2Fnamespace%2Fclean.pm;h=1e6d51af071b7d54d8109ef8aced866a1df00ea6;hb=656ec55b51c454ca3d8a06a728a4f6c06d6db5d5;hp=84d203e928a3531a8ce78d36113db0125c0e6cd1;hpb=b3279c1cce532719c9ac97a0e74afe51281dd9b1;p=p5sagit%2Fnamespace-clean.git diff --git a/lib/namespace/clean.pm b/lib/namespace/clean.pm index 84d203e..1e6d51a 100644 --- a/lib/namespace/clean.pm +++ b/lib/namespace/clean.pm @@ -19,7 +19,7 @@ BEGIN { # when changing also change in Makefile.PL my $b_h_eos_req = '0.07'; - if (eval { + if (! $ENV{NAMESPACE_CLEAN_USE_PP} and eval { require B::Hooks::EndOfScope; B::Hooks::EndOfScope->VERSION($b_h_eos_req); 1 @@ -80,7 +80,10 @@ EOE push @$stack, namespace::clean::_ScopeGuard->arm(shift); } else { + my %old_contents = %^H; + %^H = (); tie( %^H, 'namespace::clean::_TieHintHash', namespace::clean::_ScopeGuard->arm(shift) ); + $^H{$_} = $old_contents{$_} for keys %old_contents; } }