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
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.