Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Determining a module's user

by clueless newbie (Hermit)
on Oct 10, 2007 at 15:54 UTC ( #644003=perlquestion: print w/ replies, xml ) Need Help??
clueless newbie has asked for the wisdom of the Perl Monks concerning the following question:

I have a module which uses Filter::Simple and I would like to know while filtering the name of the module that I'm filtering. Is there any way to do that?

Comment on Determining a module's user
Re: Determining a module's user
by Fletch (Chancellor) on Oct 10, 2007 at 16:37 UTC

    caller looks to work sanely inside the Filter::Simple called block (at least with a quick test module).

    $ cat FSTest.pm package FSTest; use Filter::Simple; FILTER { print STDERR "in FILTER, caller package: ", (caller( 1 ))[0], "\n"; } 1; $ perl -MFSTest -e 0 in FILTER, caller package: main

    Update: Oop. Quick test module FTL then apparently. You may can get at it by calling caller in a custom import sub of your own, of you might have to fall back to using Filter::Util::Call instead. We're past my simple experience with Filter::Simple at any rate.

      For me (Windows/Activestate 5.8) it doesn't. If "main" calls "package" and "package" uses the filtering module, (caller( 1 ))[0] returns not "package" but "main".

      I've found a poor work around that involves "use myFilter __PACKAGE__;".

      Thanks, Fletch!
      --- it seems to be (caller(1))[1]!

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://644003]
Approved by perrin
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (4)
As of 2014-11-28 04:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My preferred Perl binaries come from:














    Results (193 votes), past polls