rovf has asked for the wisdom of the Perl Monks concerning the following question:
I was using a module Project::Config without problems, which had this structure:
In one application, I wanted to replace thepackage Project::Config; use warnings FATAL => qw(all); use strict; use Exporter; our @ISA='Exporter'; our @EXPORT_OK=qw(....); ... sub AUTOLOAD {...} INIT {...}
by an explicit BEGIN { require .... import .... } sequence, and I wrote it like this:use Project::Conifg;
It turned out that the call of the import function triggered Project::Config::AUTOLOAD(), i.e. as if no import were defined. I had expected that by compiling Config.pm, the Exporter would inject an import() method. Any idea why this failed?package MyApp; use strict; use warnings; # This had worked before: # use Project::Config qw(foo bar); # New code which does not work: BEGIN { require 'Project/Config.pm'; Project::Config::import(qw(foo bar)); }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: import not found
by tilly (Archbishop) on Jan 27, 2011 at 15:18 UTC | |
by ikegami (Patriarch) on Jan 27, 2011 at 16:45 UTC | |
by rovf (Priest) on Jan 27, 2011 at 15:48 UTC | |
by tilly (Archbishop) on Jan 27, 2011 at 16:59 UTC | |
|
Re: import not found
by Anonyrnous Monk (Hermit) on Jan 27, 2011 at 15:17 UTC | |
|
Re: import not found
by JavaFan (Canon) on Jan 27, 2011 at 15:11 UTC |