Differenza tra funzione e funzione () in perl

Possibile duplicato:
Quando dovrei usare & per chiamare una subroutine Perl?

Negli script perl, perché questo metodo di invocare la funzione è scritto in modo diverso alcune volte. Vedo e funzione e talvolta funzione (). Sono entrambi uguali e questo è solo uno stile che uno vorrebbe sfoggiare? Se sono uguali, perché sono entrambi disponibili, non basterebbe uno? Immagino che ci sia una differenza semantica tra i due metodi che li distinguono l’uno dall’altro … ma in che tipo di circostanze?

— Dal momento che non posso rispondere alla mia domanda per motivi di timeout, sto aggiornando la risposta nella sezione della domanda stessa. Quando avrò la possibilità di aggiornare il blocco delle risposte, lo inserirò lì.

Ho trovato il testo pertinente nel libro ‘Learning Perl’ … grazie per il suggerimento. Capitolo 4: Subroutine: omissione della e commerciale.

Ero più interessato alla e commerciale e all’utilizzo delle funzioni perl. Se una subroutine è già definita prima di essere invocata, allora la subroutine può essere invocata senza usare & mentre si chiama la funzione simile a invocare le funzioni builtin. & è anche usato per distinguere tra le funzioni incorporate e le funzioni definite dall’utente se la funzione da invocare usa lo stesso nome di una delle funzioni incorporate, purché sia ​​definita prima di essere invocata.

L’uso di (), serve semplicemente a giustificare il passaggio degli argomenti alle subroutine, mentre se non viene utilizzato, l’elenco predefinito degli argomenti correnti viene passato nella forma @_. Se gli argomenti sono specificati in () per una subroutine, si presume che sia una subroutine e viene invocato anche se non è stato precedentemente definito durante l’analisi.