in reply to Re^2: shift vs @_
in thread shift vs @_

Thanks jimt, I've updated that example to use:
my $self = ref $_[0] ? shift : undef;
which doesn't seem to suffer from the largest of the problems. I've also added some clarifications about when it will and won't work.

As an aside, you would have a very hard time convincing me that this behavior of my and conditionals is anything but a bug in Perl. :)