Name
caller
Synopsis
caller [n]
Returns information about the stack of current subroutine calls. Without an argument, it returns the package name in a scalar context; in a list context, it returns the package name, filename, and line number from which the currently executing subroutine was called:
($package, $filename, $line) = caller;
With an argument it evaluates n
as the number of stack frames to go back before the current one.
It also reports some additional information that the debugger uses
to print a stack trace:
$i = 0;
while (($pack, $file, $line, $subname, $hasargs,
$wantarray, $evaltext, $is_require) = caller($i++)) {
...
}Furthermore, when called from within the DB package,
caller returns more detailed
information: it sets the list variable @DB::args as the argument passed in the
given stack frame.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access