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