Perl Diver 2.31
Main Environment Variables Perl Default Values Perl Config - Summary Perl Config - Full Installed Modules List Directory uptime Docs

Module Documentation
Details and documentation about a specific module, including version and documentation (if available). Note that while links to perldoc.com and search.cpan.org are provided, the module may be part of a larger distribution. If you reach a File Not Found page on either site, please try the parent module.

autodie::Scope::GuardStack

Name autodie::Scope::GuardStack
Version 2.29
Located at /usr/share/perl5/vendor_perl
File /usr/share/perl5/vendor_perl/autodie/Scope/GuardStack.pm
Is Core No
Search CPAN for this module autodie::Scope::GuardStack
Documentation autodie::Scope::GuardStack
Module Details autodie::Scope::GuardStack

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.

Perl Diver brought to you by ScriptSolutions.com © 1997- 2024