manpagez: man pages & more
man autodie::Scope::GuardStack(3)
Home | html | info | man


       autodie::Scope::GuardStack -  Hook stack for managing scopes via %^H


           use autodie::Scope::GuardStack;
           my $stack = autodie::Scope::GuardStack->new
           $^H{'my-key'} = $stack;

           $stack->push_hook(sub {});


       This class is a stack of hooks to be called in the right order as
       scopes go away.  The stack is only useful when inserted into "%^H" and
       will pop hooks as their "scope" is popped.  This is useful for
       uninstalling or reinstalling subs in a namespace as a pragma goes out
       of scope.

       Due to how "%^H" works, this class is only useful during the
       compilation phase of a perl module and relies on the internals of how
       perl handles references in "%^H".  This module is not a part of
       autodie's public API.


         my $stack = autodie::Scope::GuardStack->new;

       Creates a new "autodie::Scope::GuardStack".  The stack is initially
       empty and must be inserted into "%^H" by the creator.


         $stack->push_hook(sub {});

       Add a sub to the stack.  The sub will be called once the current
       compile-time "scope" is left.  Multiple hooks can be added per scope


       Copyright 2013, Niels Thykier <>


       This module is free software.  You may distribute it under the same
       terms as Perl itself.

perl v5.24.0                      2016-03-01   autodie::Scope::GuardStack(3pm)

perl 5.24 - Generated Thu Nov 3 05:55:10 CDT 2016
© 2000-2024
Individual documents may contain additional copyright information.