On Wed, Oct 19, 2005 at 09:33:39AM -0400, Stevan Little wrote: > However, this brings up an issue I was thinking about. Take this code > for instance: > > use Cat-0.0.1; > use PetStore; > > my Cat $kitty .= new(); > > --- in PetStore.pm --- > > use Dog; > use Cat-0.0.5; > > Which Cat is used? I can see several options: > > 1) Cat-0.0.1 is used since it is in the local scope, so clearly the > users choice. > > 2) Cat-0.0.5 is used since it is loaded after Cat-0.0.1. > > 3) An Ambiguity error is thrown because "Cat" is not specific enough.
I would be _highly_ surprised if my $kitty wasn't a Cat-0.0.1 (assuming these auto aliases happen). Which Cat is available to the programmer is a lexical property that shouldn't be invalidated because some other module decided to use a different Cat. That would *so* be action at a distance. -Scott -- Jonathan Scott Duff [EMAIL PROTECTED]