autodie::Scope::GuardStack(3p) Perl Programmers Reference Guide #
autodie::Scope::GuardStack(3p) Perl Programmers Reference Guide
NNAAMMEE #
autodie::Scope::GuardStack - Hook stack for managing scopes via %^H
SSYYNNOOPPSSIISS #
use autodie::Scope::GuardStack;
my $stack = autodie::Scope::GuardStack->new
$^H{'my-key'} = $stack;
$stack->push_hook(sub {});
DDEESSCCRRIIPPTTIIOONN #
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.
MMeetthhooddss _n_e_w
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.
_p_u_s_h___h_o_o_k
$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
AAUUTTHHOORR #
Copyright 2013, Niels Thykier <niels@thykier.net>
LLIICCEENNSSEE #
This module is free software. You may distribute it under the same terms
as Perl itself.
perl v5.36.3 2023-02-15 autodie::Scope::GuardStack(3p)