NAME
Resource::Dispose - Syntax sugar for dispose pattern
SYNOPSIS
use Resource::Dispose;
{
resource my $obj = Some::Class->new;
}
# $obj->DISPOSE is called even if $obj can not be freed and destroyed
DESCRIPTION
The dispose pattern is a design pattern which is used to handle resource
cleanup in runtime environment that use automatic garbage collection. In
Perl there is possibility that the object will be destructed during
global destruction and it leads to memory leaking and other drawbacks
like unclosed file handles, etc.
This module provides new keyword `resource' as a syntax sugar for
dispose pattern. The `DISPOSE' method of the resource object is called
if the resource is going out of scope.
SEE ALSO
This `resource' keyword is inspired by `using' keyword from C# language
and extended `try' keyword from Java 7 language.
Guard, Scope::Guard, Devel::Declare.
BUGS
If you find the bug or want to implement new features, please report it
at
https://github.com/dex4er/perl-Resource-Dispose/issues
The code repository is available at
http://github.com/dex4er/perl-Resource-Dispose
AUTHOR
Piotr Roszatycki <
[email protected]>
LICENSE
Copyright (c) 2012 Piotr Roszatycki <
[email protected]>.
This is free software; you can redistribute it and/or modify it under
the same terms as perl itself.
See
http://dev.perl.org/licenses/artistic.html