Provided by: perl-doc_5.26.1-6ubuntu0.7_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.