in reply to Silly code reviews and shift

I too very often use shift. I always shift of the first argument in methods. I'm sure you understand why, but I'll say why anyway. It's because I want them to be more like regular subroutine calls, where I can do nice checks on scalar(@_). And, having
sub foo { my $self = shift; ... }
certainly makes a good visual aid for me. I often even prefer to do
my $self = shift; my ($this, $that) = @_;
over     my ($self, $this, $that) = @_; -Anomo