http://www.perlmonks.org?node_id=575949


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

I'm not going to claim this is better but it does allow you to meet your change management goals while still using the my()=@_ form.
sub blah { my( $foo, $bar, $baz, ) = @_; }

Replies are listed 'Best First'.
Re^3: shift vs @_
by Argel (Prior) on Oct 02, 2006 at 20:39 UTC
    Actually, I think I will claim it is better. In theory it should be easier to notice changes since there is less clutter -- no leading "my" and no trailing "= shift" that someone eyeballing the code has to filter out so the variables themselves should stand out better.
      Perhaps, but consider the starting point of one argument:
      my( $foo, ) = @_;
      compared to:
      my $foo = shift;
      I use the shift approach because it gives me a clean starting point and lets me extend my methods (or subroutines) easily. Having said that, I try to avoid extending public methods and prefer to create new methods when appropriate. But perhaps I'm drifting away from the original question a little..