
Untitled
By: a guest on
May 23rd, 2012 | syntax:
None | size: 0.52 KB | hits: 11 | expires: Never
use strict;
use warnings;
package MooseX::AutoClose;
use Devel::Declare ();
use Scope::Cleanup ();
use namespace::autoclean ();
sub import {
my $target = caller;
namespace::autoclean->import(
-cleanee => $target,
);
my $cleanup = 'Scope::Cleanup::establish_cleanup(sub { Foo->meta->make_immutable });';
my $line = Devel::Declare::get_linestr();
substr($line, Devel::Declare::get_linestr_offset(), 0) = $cleanup;
Devel::Declare::set_linestr($line);
return;
}
1;