Provided by: perl-doc_5.38.2-3.2build2.1_all bug

NAME

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

SYNOPSIS

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

           $stack->push_hook(sub {});

DESCRIPTION

       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.

   Methods
       new

         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.

       push_hook

         $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

AUTHOR

       Copyright 2013, Niels Thykier <niels@thykier.net>

LICENSE

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