NAME
Module::Notify - trigger a callback when a module is loaded
SYNOPSIS
use Module::Notify;
Module::Notify->new(Foo => sub { print "2\n" });
# Count to three...
print "1\n";
require Foo;
print "3\n";
DESCRIPTION
Module::Notify runs callback code when it detects that a particular module
has been loaded.
Constructor
`new($module_name, $callback)`
Runs the callback when the module is loaded.
Unlike most OO modules, you can freely use this in void context, and
it will work fine. However, if you keep the returned reference, you
can call methods on it:
my $handle = Module::Notify->new($module, $callback);
If the module is *already* loaded, runs the callback immediately, and
returns undef instead of an object.
Object Methods
`cancel`
Cancels the callback.
CAVEATS
Module::Notify works through an @INC hook. It ought to be the first item
in @INC and does its best to insert itself as $INC[0] at every opportunity
it gets.
If any other path or hook does end up before Module::Notify's @INC hook,
then any modules loaded via that path or hook will escape Module::Notify's
notice.
BUGS
Please report any bugs to
<http://rt.cpan.org/Dist/Display.html?Queue=Module-Notify>.
SEE ALSO
Module::Runtime.
AUTHOR
Toby Inkster <tobyink@cpan.org>.
COPYRIGHT AND LICENCE
This software is copyright (c) 2013 by Toby Inkster.
This is free software; you can redistribute it and/or modify it under the
same terms as the Perl 5 programming language system itself.
DISCLAIMER OF WARRANTIES
THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.