in reply to difference between shift and assignment
No, from the shift docs
If ARRAY is omitted, shifts the @_ array within the lexical scope of subroutines and formats, ...