NAME
Devel::Caller::Util - caller()-related utility routines
VERSION
This document describes version 0.042 of Devel::Caller::Util (from Perl distribution Devel-Caller-Util), released on 2019-04-12.
SYNOPSIS
use Devel::Util::Caller qw(caller callers);
my @info = caller(3);
my @callers = callers();
FUNCTIONS
caller
Usage:
caller([ $offset [, $with_args [, $packages_to_ignore [, $subroutines_to_ignore ] ] ] ]) => LIST
Just like the built-in caller()
, except with three additional optional arguments. Will return this list:
# 0 1 2 3 4 5 6 7 8 9 10
($package1, $filename1, $line1, $subroutine1, $hasargs1, $wantarray1, $evaltext1, $is_require1, $hints1, $bitmask1, $hinthash1)
If $with_args
is true, will also return subroutine arguments in the 11th element of the result, produced by retrieving @DB::args
.
$packages_to_ignore
can be set to a regex (will be matched against $packageI
) or an arrayref of package names.
Similarly, $subroutines_to_ignore
can be set to a regex or an arrayref of subroutine names. Note that subroutine names are fully qualified names.
callers([ $start=0 [, $with_args [, $packages_to_ignore [, $subroutines_to_ignore ] ] ] ]) => LIST
A convenience function to return the whole callers stack, produced by calling caller()
repeatedly from frame $start+1
until caller()
returns empty. Result will be like:
(
# 0 1 2 3 4 5 6 7 8 9 10
[$package1, $filename1, $line1, $subroutine1, $hasargs1, $wantarray1, $evaltext1, $is_require1, $hints1, $bitmask1, $hinthash1],
[$package2, $filename2, $line2, ...],
...
)
See "caller" for more information about the three additional, optional arguments.
HOMEPAGE
Please visit the project's homepage at https://metacpan.org/release/Devel-Caller-Util.
SOURCE
Source repository is at https://github.com/perlancar/perl-Devel-Caller-Util.
BUGS
Please report any bugs or feature requests on the bugtracker website https://rt.cpan.org/Public/Dist/Display.html?Name=Devel-Caller-Util
When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.
SEE ALSO
AUTHOR
perlancar <perlancar@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2019, 2015 by perlancar@cpan.org.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.