Questa è la definizione di subroutine, non una vera funzione di per sé. Senza un BLOCCO è semplicemente una dichiarazione a posteriori. Senza un NOME è una dichiarazione di funzione anonima ed in effetti restituisce un valore: il riferimento al CODICE della chiusura che avete appena creato.
Consultate perlsub e perlref per dettagli sulle subroutine e i riferimenti, attributes e Attribute::Handlers per maggiori informazioni sugli attributi.