NAME
B::Hooks::OP::Check::LeaveEval - call a subroutine when new code finishes compiling
SYNOPSIS
my
$id
= B::Hooks::OP::Check::LeaveEval::register(
sub
{
"New code!\n"
});
eval
'sub Foo::bar { ... }'
;
# will print "New code!"
B::Hooks::OP::Check::LeaveEval::unregister(
$id
);
DESCRIPTION
This module allows to hook into every execution of the leaveeval
opcode, this happens when a new module is finished loading (either via use
or require
) or an eval
is done. Essentially, this means it will be called whenever new code is finished compling.
FUNCTIONS
register
my
$id
= B::Hooks::OP::Check::LeaveEval::register(
sub
{ ... });
Register a callback for leaveeval
executions. The callback will receive no arguments and its return value will be ignored.
The returned $id
can be used to remove the callback later (see unregister).
unregister
B::Hooks::OP::Check::LeaveEval::unregister(
$id
);
Remove the callback referenced by $id
.
AUTHOR
Szymon Nieznański <s.nez@member.fsf.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2020 by Szymon Nieznański.
This is free software; you can redistribute it and/or modify it under the same terms as Perl itself.