I am rather surprised that, on a topic with such a title, no one referred to "Perl Best Practices", which discusses the topic on page 180 (First Edition).
TheDamian remarks that there are some circumstances when using
shift is preferable. In a nutshell I read it to mean that this is when checking and commenting arguments singly.
If using Perl 5.10.0 there is an
oops where an optimisation for list assignment was disabled, but I'm pretty sure it only applied to that release.