in reply to reference question
Two common styles of paramater setting-up are shifts and assignment of @_. Sometimes they are mixed. Shift is a simple way to grab one argument. Assignment does them all. Shifting modifies the argument list, assignment doesn't.
For one parameter, it means the same thing, if you won't be using @_ anymore (so you don't care that you changed it).
Look at this:
my $this= shift; # ... do some checking here. my ($x,$y,$z)= @_;
|
|---|