Eventuali duplicati:
When should I use the & to call a Perl subroutine?Differenza tra & la funzione e la funzione() in Perl
In script Perl, perché è che il metodo di invocare la funzione è scritto in modo diverso alcune volte. Vedo la funzione & e talvolta la 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?
--- Poiché non riesco a 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 però. Capitolo 4: Subroutine: omissione della e commerciale.
Sono stato più interessato alla e commerciale & utilizzo per le funzioni perl. Se una subroutine è già definita prima di essere invocata, la subroutine può essere invocata senza utilizzare & mentre si chiama la funzione in modo simile al richiamo delle funzioni integrate. & viene anche utilizzato per distinguere tra le funzioni incorporate e le funzioni definite dall'utente se la funzione da richiamare utilizza lo stesso nome di una funzione incorporata, purché sia definita prima di essere invocata.
L'uso di(), è solo per giustificare il passaggio degli argomenti alle subroutine, mentre se non viene utilizzato, l'elenco predefinito di argomenti correnti viene passato nel modulo @_. 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.
Vedere [Qual è la differenza tra chiamare una funzione come & foo e foo()?] (Http://perldoc.perl.org/perlfaq7.html#What%27s-the-difference-tra between-calling-a-function -as-% 26foo-and-foo% 28% 29% 3F) in Perl FAQ 7. – manatwork
hi @manatwork, che spiega la differenza tra & foo e & foo(), ma perché l'e commerciale viene usato del tutto se non necessario ... quando è necessario? –
Nella sezione Descrizione [perlsub] (http://perldoc.perl.org/perlsub.html) enumera quando è '&' opzionale. – manatwork