autodie::Scope::GuardStack(3perl)Perl Programmers Reference Guidautodie::Scope::GuardStack(3perl)
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 AT thykier.net>
LICENSE
This module is free software. You may distribute it under the same terms as Perl itself.
perl v5.34.0 2025-07-25 autodie::Scope::GuardStack(3perl)
Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2025-11-21 17:27 @216.73.216.164 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)