mirror of
https://github.com/Stichting-MINIX-Research-Foundation/pkgsrc-ng.git
synced 2025-09-21 02:24:06 -04:00
15 lines
629 B
Plaintext
15 lines
629 B
Plaintext
Writing exporters is a pain. Some use Exporter, some use Sub::Exporter,
|
|
some use Moose::Exporter, some use Exporter::Declare ... and some things
|
|
are pragmas.
|
|
|
|
If you want to re-export other things, you have to know which is which.
|
|
Exporter subclasses provide export_to_level, but if they overrode their
|
|
import method all bets are off. Sub::Exporter provides an into parameter
|
|
but figuring out something used it isn't trivial. Pragmas need to have
|
|
their import method called directly since they affect the current unit
|
|
of compilation.
|
|
|
|
It's ... annoying.
|
|
|
|
However, there is an approach that actually works for all of these types.
|