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.

Jonathan Scott Duff

Reply via email to