Sub::Current - Get the current subroutine
use Sub::Current; sub f { # ... if ($some_condition) { # let's recurse! ROUTINE->(); } # ... }
Sub::Current makes available a function ROUTINE(), that returns a code reference pointing at the currently executing subroutine.
ROUTINE()
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'.
__SUB__
use feature 'current_sub'
A repository for the sources is at https://github.com/rgs/p5-Sub-Current.
(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.
To install Sub::Current, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Sub::Current
CPAN shell
perl -MCPAN -e shell install Sub::Current
For more information on module installation, please visit the detailed CPAN module installation guide.