caller EXPR
caller
This function returns information about the stack of current subroutine calls. Without an argument it returns the package name, filename, and line number that the currently executing subroutine was called from:
($package, $filename, $line) = caller;
With an argument it evaluates
EXPR
as the number of stack frames to go back
before the current one.
It also reports some additional information.
$i = 0; while (($pack, $file, $line, $subname, $hasargs, $wantarray) = caller($i++)) { ... }
Furthermore, when called from within the DB package,
caller returns more detailed information: it sets the list
variable @DB::args
to be the arguments passed in the given stack frame.