On Monday 01 March 2004 1:22 pm, Gary Stainburn wrote:
> Hi folks,
>
> I'm trying to move my debug and validate modules to a seperate package.
> However, I'm having trouble.  I've created a new empty module/package
> direct from the perldocs and then put my debug routine in.  So far, so
> good.
>
> I then created my program to use it, but I'm having trouble accessing the
> %_DEBUG hash in main::.  The idea is that when I want to use debug, I
> create my hash, use the module, and it accesses my hash.  As you can see,
> it's not working. I'm assuming that the problems with the syntax I'm using
> to access %{$package}::_DEBUG.
>
[snip]

Typical. As soon as I'd finished writing this, my brain returned.  I've now 
done the following which worked.  If anyone has a nicer answer I'd like to 
see it.

sub debug {        # return debug info
  no strict qw{refs};
  my $caller=(caller(1))[3];
  my $package='';
  return 0 unless defined $caller;
  print "caller=$caller\n";
  ($package,$caller)=split('::',$caller);
  print "package=$package caller=$caller\n";
  print "key=$_\n" foreach (keys %{"${package}::_DEBUG"});
  return (defined ${"${package}::_DEBUG"}{$caller}) ? 
                  ${"${package}::_DEBUG"}{$caller} : 0;
};


-- 
Gary Stainburn
 
This email does not contain private or confidential material as it
may be snooped on by interested government parties for unknown
and undisclosed purposes - Regulation of Investigatory Powers Act, 2000     


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to