NAME
Sub::Current - Get the current subroutine
SYNOPSIS
use Sub::Current;
sub f {
# ...
if ($some_condition) {
# let's recurse!
ROUTINE->();
}
# ...
}
DESCRIPTION
Sub::Current makes available a function ROUTINE()
, that returns a code reference pointing at the currently executing subroutine.
In a special block (BEGIN, END, CHECK, INIT, and UNITCHECK in Perl 5.10) this function will return undef.
Outside of a special block (that is, at the top level of a program) ROUTINE()
will return undef as well.
Note: on perl 5.16.0 and later you can use the built-in __SUB__
instead, enabled by the pragma use feature 'current_sub'
.
SOURCE
A repository for the sources is at https://github.com/rgs/p5-Sub-Current.
COPYRIGHT
(c) Copyright 2007, 2017 by Rafael Garcia-Suarez.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.