Guest User

Untitled

a guest
Jul 22nd, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.41 KB | None | 0 0
  1. use strict;
  2. use warnings;
  3.  
  4. package B::Hooks::EndOfScope;
  5.  
  6. use Scope::Guard;
  7.  
  8. our $VERSION = '0.01';
  9.  
  10. our $SCOPE_HOOK_KEY = 'SCOPE_END_HOOK';
  11.  
  12. use Sub::Exporter -setup => {
  13. exports => ['on_scope_end'],
  14. groups => { default => ['on_scope_end'] },
  15. };
  16.  
  17. sub on_scope_end (&) {
  18. my $cb = shift;
  19.  
  20. $^H |= 0x120000;
  21. $^H{ $SCOPE_HOOK_KEY } = [Scope::Guard->new($cb), @{ $^H{ $SCOPE_HOOK_KEY } || [] }];
  22. }
  23.  
  24. 1;
Add Comment
Please, Sign In to add comment