Richard Clamp > Devel-Caller-2.05 > Devel::Caller

Download:
Devel-Caller-2.05.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  3
Open  1
View/Report Bugs
Module Version: 2.05   Source   Latest Release: Devel-Caller-2.06

NAME ^

Devel::Caller - meatier versions of caller

SYNOPSIS ^

 use Devel::Caller qw(caller_cv);
 $foo = sub { print "huzzah\n" if $foo == caller_cv(0) };
 $foo->();  # prints huzzah

 use Devel::Caller qw(called_with);
 sub foo { print called_with(0,1); }
 foo( my @foo ); # should print '@foo'

DESCRIPTION ^

caller_cv($level)

caller_cv gives you the coderef of the subroutine being invoked at the call frame indicated by the value of $level

caller_args($level)

Returns the arguments passed into the caller at level $level

caller_vars( $level, $names ) =item called_with($level, $names)

called_with returns a list of references to the original arguments to the subroutine at $level. if $names is true, the names of the variables will be returned instead

constants are returned as undef in both cases

called_as_method($level)

called_as_method returns true if the subroutine at $level was called as a method.

BUGS ^

All of these routines are susceptible to the same limitations as caller as described in "caller" in perlfunc

The deparsing of the optree perfomed by called_with is fairly simple-minded and so a bit flaky.

SEE ALSO ^

"caller" in perlfunc, PadWalker, Devel::Peek

AUTHOR ^

Richard Clamp <richardc@unixbeard.net> with close reference to PadWalker by Robin Houston

COPYRIGHT ^

Copyright (c) 2002, 2003, 2006, 2007, 2008, 2010 Richard Clamp. All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself.

syntax highlighting: