in reply to Re^2: Help using self-made but very simple Module
in thread Help using self-made but very simple Module
use Modules::ScriptUpdate;
If you load it like this, your package name should be Modules::ScriptUpdate accordingly, or else Exporter will alias main::script_stats() to Modules::ScriptUpdate::script_stats(), not ScriptUpdate::script_stats(), where it would reside in your case with a package name of ScriptUpdate...
In more detail, the reason is that use Modules::ScriptUpdate; implcitly calls Modules::ScriptUpdate->import(), which in turn (via inheritance) calls Exporter->import() with the first parameter being "Modules::ScriptUpdate". This then is the namespace used by Exporter, not what you specified in the module source with package. For this reason - when you use Exporter - package name and filename/path of the module have to match.
|
|---|