Michael Fowler wrote:
> 
> This RFC makes no mention of what happens to the following constructs:
> 
>     use Foo;
>     require Foo;

I don't mind a very few special cases. I would imagine that these might
have to remain special:

   use Foo;
   require Foo;
   import Foo;
   package Foo;

But notice the disconnect here:

   package Foo;
   use base 'Bar';

Seems almost that:

   package 'Foo';
   use base 'Bar';

Would be more consistent. The only real problem with this approach is
require() which, as Schwern has to keep reminding me, can work on either
files or packages:

   require Foo;     # package Foo
   require 'Foo';   # file Foo

But this already seems fragile to me. Why not have a separate keyword
that always assumes it's a file? Decreased bloat; require could always
be UNIVERSAL::require then:

   require 'Foo';   # package Foo
   include 'Foo';   # file Foo

This would get rid of having to eval stuff for variable-based package
names as well.

>     %foo = (bar => "baz");

This would remain as-is, since => auto-quotes the LH operand.

-Nate

Reply via email to