phpman > perldoc > autodie::Scope::GuardStack(3perl)

Markdown | JSON | MCP    

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.

Generated by phpman v3.7.12 Author: Che Dong Under GNU General Public License
2026-06-13 18:05 @216.73.217.0
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!