Instead of using anonymous array references, I was just going
to use the same system that CGI.pm uses, not unlike processing
a UNIX command line argument set. In that case, there are
reserved words 'VERSION', 'EXPORT', etc. that trigger
certain processing in the module. The rest are treated as
parameters. The only downside is that to export a function
called 'VERSION', for whatever reason, you would have to
explicitly list it as '&VERSION'.
Further, instead of latching on to the Exporter's
import
routine, it might be better to rewrite it to avoid the extra
call and the @ISA use. What Exporter does is really neat,
but isn't exactly
rocket science.
As much of a fan as I am of anonymous hashes, arrays, and
references, in this case, it does seem to complicate what is
supposeed to be a simplifying operation.
On a side note, it's too bad that there aren't qw-style
operators that return references:
my ($ref) = qwa[ a better camel ];
print @$ref,"\n";
Oh, and
Exporter::Easy sounds a lot like
Bone::Easy, no?