NAME

Hook::AfterRuntime - Run code at the end of the compiling scope's runtime.

DESCRIPTION

Useful for creating modules that need a behavior to be added when a module that uses them completes it's runtime. Like B::Hooks::EndOfScope except it triggers for run-time instead of compile-time.

Example where it might be handy:

#!/usr/bin/perl
use strict;
use warnings;
use Moose;

...

# It would be nice not to need this....
__PACKAGE__->make_immutable;

SYNOPSYS

MooseX/AutoImmute.pm

package MooseX::AutoImmute;
use strict;
use warnings;
use Hook::AfterRuntime;

sub import {
    my $class = shift;
    my $caller = caller;
    eval "package $caller; use Moose; 1" || die $@;
    after_runtime { $caller->make_immutable }
}

1;

t/mytest.t

#!/usr/bin/perl
use strict;
use warnings;
use MooseX::AutoImmute;

....

#EOF
# Package is now immutable autamatically

SEE ALSO

B::Hooks::EndOfScope

Does almost the same thing, except it is triggered after compile-time instead of run-time.

FENNEC PROJECT

This module is part of the Fennec project. See Fennec for more details. Fennec is a project to develop an extendable and powerful testing framework. Together the tools that make up the Fennec framework provide a potent testing environment.

The tools provided by Fennec are also useful on their own. Sometimes a tool created for Fennec is useful outside the greator framework. Such tools are turned into their own projects. This is one such project.

Fennec - The core framework

The primary Fennec project that ties them all together.

AUTHORS

Chad Granum exodist7@gmail.com

COPYRIGHT

Copyright (C) 2010 Chad Granum

Hook-AfterRuntime is free software; Standard perl licence.

Hook-AfterRuntime is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details.