Scroll to navigation

Sub::Current(3pm) User Contributed Perl Documentation Sub::Current(3pm)

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.

2017-09-16 perl v5.26.0