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.
Get Perl in a Nutshell, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.