So, you have triggered one of my pet problems: Inheriting from Exporter.
our @ISA = qw(Exporter);
You don't have to inherit from Exporter. In fact, you shouldn't (at least in my oppinion), even if it currently does not hurt most times. See also Re: Adding "sub import{}" to my module makes global symbols require an explicit package name, Re: Advice on style, Re: How to create a reusable module with Exporter [SOLVED].
The Exporter documentation wasn't really that great in this regard. It has become better, but it still suggests inheriting in the very first example. See also Re^2: Advice on style, Re^4: Advice on style, Re^2: Exporter in an OO module?, Re^2: Exporter. Correct way to override import?.
What you should do is documented in Exporting-Without-Inheriting-from-Exporter of Exporter:
use Exporter qw( import );
And that's it. No need to mess with @ISA, base, or parent, unless you need to support old perls from almost two decades ago (Exporter older than 5.57, i.e. perl older than 5.8.3).
Alexander
In reply to Re: Do I have to export all variables and functions from my PM file?
by afoken
in thread Do I have to export all variables and functions from my PM file?
by SergioQ
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |