use strict causes it to whinge that i'm not using my to declare @perls, but if that's fixed, the code still exhibits the same behavior (@{shift()} works, @{shift} does not)
Ambiguous use of @{shift} resolved to @shift at a.pl line 7.
Global symbol "@shift" requires explicit package name at a.pl line 7.
Execution of a.pl aborted due to compilation errors.