Subject: | Exporter::NoWork doesn't check ISA before it adds itself |
The import method has the following code:
if ($from eq __PACKAGE__) {
push @{"$to\::ISA"}, __PACKAGE__;
Regrettably, sometimes other modules are written poorly and get loaded
multiple times, so Exporter::NoWork adds itself to @ISA multiple times.
Changing to the following avoids this problem:
if ($from eq __PACKAGE__) {
push @{"$to\::ISA"}, __PACKAGE__
unless grep { $_ eq __PACKAGE__ } @{"$to\::ISA"};
Cheers,
Ovid