Damian Conway wrote:
>
> I like that, though I'd go with different key names ("always" isn't
> always, and "tags" is not well related to its effect). How about:
>
> use export implicit => [qw(you get this)],
> explicit => [qw(only by request)],
> complicit => { cgi => [qw(param etc)] };
>
> (Sorry, couldn't resist that third one: it probably should be "grouped",
> or "aliased", or something more pedestrian and obvious, but the triple
> suffix makes such a great mnemonic :-).
No complaints here. :-)
Although 'grouped' or something might be better, since if we were to
stick by this model strictly, the first two point to arrayrefs whereas
the last one is a hashref of arrayrefs. So different might be better.
But my gut likes this muy mucho.
> I really do like this, especially if the package's C<import> is
> still called, when it's in effect. All too often I want the
> convenience of Exporter, but I need to twiddle the import semantics
> too.
Exactly! Me too.
Hey, if this idea fleshes out enough it might just help satisfy "RFC
233: Replace Exporter by a better scaling mechanism". (Though Ilya
addresses several internals issues that are important also.)
-Nate