Das shift in der Routine test liest also nacheinander die einzelnen Werte aus dem übergebenen @a (das sich dann in @_ befindet) aus und weist sie den Variablen zu.
shift in Subroutinen liest also nacheinander Parameter aus @_ aus.
Kommentare zum Beitrag "Shift in Perl"
Kommentar von SPIce
Kleiner Tippfehler im Array, hinter hans fehlt das Hochkomma: