Use B::Hooks::EndOfScope instead of %^H and Scope::Guard.
[p5sagit/Devel-Declare.git] / lib / Devel / Declare.pm
index 61c54a3..a315f66 100644 (file)
@@ -290,13 +290,13 @@ Devel::Declare -
 =head1 SYNOPSIS
 
   use Devel::Declare ();
-  use Scope::Guard;
   
   {
     package MethodHandlers;
   
     use strict;
     use warnings;
+    use B::Hooks::EndOfScope;
   
     our ($Declarator, $Offset);
   
@@ -391,13 +391,12 @@ Devel::Declare -
     }
   
     sub inject_scope {
-      $^H |= 0x120000;
-      $^H{DD_METHODHANDLERS} = Scope::Guard->new(sub {
+      on_scope_end {
         my $linestr = Devel::Declare::get_linestr;
         my $offset = Devel::Declare::get_linestr_offset;
         substr($linestr, $offset, 0) = ';';
         Devel::Declare::set_linestr($linestr);
-      });
+      };
     }
   }