SPUG: Tracing back to a calling sub
Jim Flanagan
jimfl at tensegrity.net
Mon Jan 24 08:50:38 PST 2005
On Mon, 24 Jan 2005, Peter Darley wrote:
> I'm trying to figure out if there's a way for a sub to
> find out what sub called it?
Take a look at the second form of the 'caller' function. This should
get you at what you're looking for.
my $calling_sub = (caller(0))[3];
There are situations where this won't quite get what you want, for
example
eval {
$foo = (caller(0))[3];
print $foo;
}
will print "(eval)" in which case you'll have to increase the level
in the stack.
More information about the spug-list
mailing list