Piers Cawley writes: > Larry Wall <[EMAIL PROTECTED]> writes: > > > I've been thinking about this in my sleep, and at the moment I think > > I'd rather keep .foo meaning $_.foo, but break the automatic binding > > of the invocant to $_. Instead of that, I'd like to see a really, > > really short alias for $self. Suppose we pick "o" for that, short > > for "object". Then we get self calls of the form: > > > > o.frobme(...) > > > I really, really don't want to see .foo meaning anything but $_.foo, so how > about arranging things so that the invocant becomes $_ iff you don't give it a > name.
The problem with that is that people start learning that .foo means call foo on the current object, and then they write: method iterate () { for (@.objs) { .process($_); # oops } } And they may even know the rule, but $_ is a hard thing to get used to in Perl. I think it's best is "call a method on the current object" looks the same everywhere it is used. Luke