On Thu, Oct 27, 2005 at 05:37:13AM -0400, Rob Kinyon wrote: : Will I be able to do something like: : : package Foo;
Hmm, you just started in Perl 5 mode. : $*VERSION = 1.3.2; Perl 5 would get confused here, so I'm presuming Perl 6. But Perl 6 isn't likely to let you override the global run-time Perl version. : use Foo-1.3.1; That I think I understand. : role My::Foo { does Foo; ... } Okay, My::Foo does Foo here. Presumably it must "do" the Foo alias that the use just installed. And presumably the Foo you just used is a role that can be "done". Certainly you can't "do" the global package Foo, assuming that's what your original package declared. : alias My::Foo -> Foo; # Or whatever the syntax should be I have no clue where you're intending to install that alias. Are you trying to install a *Foo alias? A bare Foo is going to first find the local alias to the Foo you used, and that hides the global Foo that it would have found otherwise. I suspect you're trying to say *Foo := My::Foo; : And, in my other code, "use Foo;" will DWIM? I don't know quite what you mean, so I don't know if it'll do what you mean. If you're trying to establish a policy that defaults a particular name to a particular version, the library interface will probably give you a more straightforward way to set that up. Larry