SPUG: Tracing back to a calling sub
Peter Darley
pdarley at kinesis-cem.com
Mon Jan 24 09:04:53 PST 2005
Kirby,
That's exactly what I'm looking for.
I can write a sub that uses caller(2) that I can use to format the
information in a standard way, and then use:
die "A null query was passed to MySub from " . GetCaller() . "!"
Thanks for your help!
Thanks,
Peter Darley
-----Original Message-----
From: Kirby Krueger [mailto:kirbyk at gmail.com]
Sent: Monday, January 24, 2005 8:45 AM
To: Peter Darley
Cc: SPUG
Subject: Re: SPUG: Tracing back to a calling sub
Check out perldoc -f caller. Is this what you're looking for?
-- Kirby
On Mon, 24 Jan 2005 08:34:46 -0800, Peter Darley
<pdarley at kinesis-cem.com> wrote:
> Folks,
> I'm trying to figure out if there's a way for a sub to find out
what sub
> called it? The situation that I'm in is that I have a lot of generic
subs,
> such as one that takes a database query string and returns a hash of what
> was loaded from the database. When it fails, I just get an error from the
> sub, but it's almost always a error in how I called the sub that caused
> problems, and it can be hard to go back through my program and find which
> sub called this sub incorrectly.
> So, basically what I want to be able to do is have something like:
>
> sub MySub
> {
> my (%Args) = @_;
> # Args: Query = The query to run the Lookup on
>
> if (! $Args{Query}) {die "A null querry was passed to MySub from
> $Calling_Sub!"}
>
> ...
> }
>
> And it would come up with something like
> "A null querry was passed to MySub from LookupUserInfo()!"
>
> Thanks,
> Peter Darley
>
> _____________________________________________________________
> Seattle Perl Users Group Mailing List
> POST TO: spug-list at pm.org
> SUBSCRIPTION: http://mail.pm.org/mailman/listinfo/spug-list
> MEETINGS: 3rd Tuesdays, Location: Amazon.com Pac-Med
> WEB PAGE: http://seattleperl.org/
>
More information about the spug-list
mailing list