> I would assume that 'use' would be done before 'autouse', so any 'use
   > lib' statements would already be taken into account? I'm probably
   > missing something super-obvious, so please point it out if so.

No. C<use> before C<autouse> was my assumption too.


   > Yeah, a little too tedious. For the EXPORT thingy it seems a different
   > pragma would be more fitting:
   > 
   >    use export always => [qw(you get this)],
   >               request => [qw(only by request)],
   >               tags => { cgi => [qw(param etc)] };

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 :-).

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.

Damian

Reply via email to