Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

Re: Which module contains an imported subroutine

by runrig (Abbot)
on Mar 26, 2013 at 18:12 UTC ( #1025569=note: print w/replies, xml ) Need Help??

in reply to Which module contains an imported subroutine

If I have a script that "uses" multiple Perl modules, and I know that a function named f was imported from one of them, i.e. it was not defined in the script itself

Don't do that. Be explicit about what you import.

use Coneheads qw( GnarfleTheGarthock );

Replies are listed 'Best First'.
Re^2: Which module contains an imported subroutine
by sundialsvc4 (Abbot) on Mar 27, 2013 at 15:11 UTC

    This can’t be emphasized enough.   A couple of years ago I was wrestling with a really old application which “inexplicably” did not run on one of several different machines.   It turned out to be a problem such as this:   there was a common subroutine-name, more than one potential source of it, and a very slight difference in the file setup on that one machine ... a file was there but not being picked up, long story.   But the bottom line was that the intended (correct ...) behavior of that code as-written was in effect contextually determined, with an ambiguity in play that was hiding the root problem.   Learning from this, I now try to be as explicit as possible in every place where such ambiguities might occur: using qw() import-lists with large “kitchen sink” utility packages, and sometimes empty lists there with explicit fully-qualified (i.e. with package name expressly specified) references to the exact routine that I need.   These problems, when I have seen them, come from software that was originally written for older Perls.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1025569]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (1)
As of 2017-03-29 00:52 GMT
Find Nodes?
    Voting Booth?
    Should Pluto Get Its Planethood Back?

    Results (343 votes). Check out past polls.