Tom Christiansen wrote:
>
> It is? I don't see that this is a pain at all. It seems like
> a beautiful point of homogenization. You don't force the user
> to say $self; they could use $this if they wanted. Heck, they
> don't need it at all.
>
> my(undef, @args) = @_;
It's a pain if you want to support both function-oriented and
object-oriented calling forms, as CGI.pm does. For example, you can use
both of these:
print header;
print $r->header;
with CGI.pm. Now you need a self_of_default special method, since
sometimes $_[0] has a class ref and sometimes it has the first method
argument.
> Or as in
>
> shift->fn(@_)
I don't see how this RFC is super-revolutionary, personally. Your
example would just become:
self->fn(@_);
with the added benefit that, unlike shift->fn(@_), you can call the same
thing 10 times in a row and it still works:
self->fn1(@_);
self->fn2(@_); # can't do that with shift
I also don't see how this precludes the use of $ME, $self, $this, or any
other variable name:
$ME = self;
$self = self;
$this = self;
-Nate