Rimuove il primo elemento dell'array e lo restituisce, accorciando
l'array di una unità e scalando tutti gli elementi di un
posto verso il basso. Se non ci sono elementi nell'array,
restituisce il valore indefinito. Se ARRAY viene omesso,
l'operazione viene effettuata sull'array @_ se ci si trova
all'interno dello scope lessicale di subroutine e formati, e
dell'array @ARGV se ci si trova all'interno di scope di file
oppure all'interno di scope lessicali stabiliti dai costrutti
eval '', BEGIN {}, INIT {}, CHECK {} e END {}.
Consultate anche unshift, push e pop. shift e
unshift fanno all'estremità sinistra di un array
ciò che pop and push fanno alla parte destra.