in reply to Ambiguity of @{ shift }

A very idiomatic way of breaking ambiguity is to use the no-op unary +.

my @foo = @{+shift}; print +(split)[2]; $hash{+lc}++; # etcetera