Rechercher une page de manuel
Scope::Guard.3pm
Langue: en
Version: 2007-01-07 (mandriva - 01/05/08)
Section: 3 (Bibliothèques de fonctions)
NAME
Scope::Guard - lexically scoped resource managementSYNOPSIS
my $sg = Scope::Guard->new(sub { ... }); # or my $sg = Scope::Guard->new(\&handler); $sg->dismiss(); # disable the handler
DESCRIPTION
This module provides a convenient way to perform cleanup or other forms of resource management at the end of a scope. It is particularly useful when dealing with exceptions: the Scope::Guard constructor takes a reference to a subroutine that is guaranteed to be called even if the thread of execution is aborted prematurely. This effectively allows lexically-scoped ``promises'' to be made that are automatically honoured by perl's garbage collector.For more information, see: <http://www.cuj.com/documents/s=8000/cujcexp1812alexandr/>
new
usage
my $sg = Scope::Guard->new(sub { ... }); # or my $sg = Scope::Guard->new(\&handler);
description
Create a new Scope::Guard object which calls the supplied handler when its "DESTROY" method is called, typically when it goes out of scope.
dismiss
usage
$sg->dismiss(); # or $sg->dismiss(1);
description
Detach the handler from the Scope::Guard object. This revokes the ``promise'' to call the handler when the object is destroyed.
The handler can be re-enabled by calling:
$sg->dismiss(0);
VERSION
0.03SEE ALSO
- •
- Hook::LexWrap
- •
- Hook::Scope
- •
- Sub::ScopeFinalizer
- •
- Object::Destroyer
AUTHOR
chocolateboy: <chocolate.boy@email.com>COPYRIGHT
Copyright (c) 2005-2007, chocolateboy.This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself.
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre