http://qs321.pair.com?node_id=1157013


in reply to Chasing up a module dependency issue

I think this comes from a module that uses (resp. inherits from) Exporter and where Module::Name->import is called with method_name as argument. The simplest case would be:

use Module::Name 'method_name';

... but that's likely too obvious and you've tried that already. A more contrived way would be something like:

my $module = 'Module::Name'; require 'Module/Name.pm'; $module->import('method_name');

Maybe (maybe) your code is picking up the wrong versions of Module::Name somewhere else in @INC? Dumping \%INC might tell you which version got picked up.

The easiest "fix" in my opinion would be to preload all the relevant modules at the very top of your program:

#!perl -w use strict; use Module::A; use Module::B; use Module::Name 'method_name'; ...

That way, all the modules should be loaded in the correct order...