On Thu, Sep 08, 2005 at 04:52:52PM -0400, Stevan Little wrote: : But what if I want to do this? : : class Foo { : my %:stuff; : method keys (Class $c:) { : %:stuff.keys(); : } : } : : How can I get at my namespace now? How would I disambiguiate that call? : Doing something like Foo.Package::keys() seems to me to be exposing too : much of the meta-level (the Package class). : : I can see lots of potential conflict between class methods and methods : to access the contents of a namespace (methods defined in the Hash role : I assume). This means that Foo is getting even more and more magical. : It's now a type annotation, a special undef value, the invocant in : class methods and the "gatekeeper" of the namespace.
Well, like I said, we can require the extra :: in cases of ambiguity. It's really only the misplaced sigil I'm trying to get rid of. Larry