Use the caller()
function:
my $sub_name = (caller(0))[3];
This will give you the name of the current subroutine, including its package (e.g. 'main::test'
). Closures return names like 'main::__ANON__'
and in eval it will be '(eval)'
.
Use the caller()
function:
my $sub_name = (caller(0))[3];
This will give you the name of the current subroutine, including its package (e.g. 'main::test'
). Closures return names like 'main::__ANON__'
and in eval it will be '(eval)'
.