shift @array
Removes the first value of @array and returns it, shortening
the array by 1 and moving everything down.
If there are no elements in the array, the
function returns the undefined value. If @array is
omitted, the function shifts @ARGV (in the main
program), or @_ (in subroutines). See also unshift, push,
pop, and splice. The shift and
unshift functions do the same thing to the
left end of an array that pop and push do to the right end.