Duplicar posible:
When should I use the & to call a Perl subroutine?y la función y la función() en Perl
En los scripts de Perl, por eso es que el método de invocar la función que está escrito de manera diferente algunas veces. Veo la función & y, a veces, la función(). ¿Son los dos iguales y esto es solo un estilo que uno querría alardear? Si son iguales, ¿por qué ambos están disponibles? ¿No bastaría uno? Supongo que hay una diferencia semántica entre los métodos que los distinguen unos de otros ... ¿pero en qué tipo de circunstancias?
--- Ya que no puedo responder mi propia pregunta por razones de tiempo de espera - Estoy actualizando la respuesta en la sección de la pregunta misma. Cuando tenga la oportunidad de actualizar el bloque de respuestas, lo pondré allí.
Encontré el texto relevante en el libro 'Learning Perl' ... gracias por la sugerencia. Capítulo 4: Subrutinas - Omitir el signo distintivo.
Estaba más interesado en el ampersand & uso para las funciones perl. Si ya se ha definido una subrutina antes de invocarse, se puede invocar la subrutina sin utilizar & al llamar a la función de forma similar a invocar las funciones incorporadas. & también se usa para distinguir entre las funciones incorporadas y las funciones definidas por el usuario si la función que se invoca usa el mismo nombre que el de una de las funciones incorporadas, siempre que se defina antes de invocarse.
El uso de(), es simplemente para justificar el paso de los argumentos a las subrutinas, mientras que si no se usa, la lista predeterminada de argumentos actuales se pasa en la forma @_. Si los argumentos se especifican en() para una subrutina, se supone que es una subrutina y se invoca incluso si no se definió previamente durante el análisis.
Ver [¿Cuál es la diferencia entre llamar a una función como & foo y foo()?] (Http://perldoc.perl.org/perlfaq7.html#What%27s-the-difference-between-calling-a-function -as-% 26foo-and-foo% 28% 29% 3F) en Perl FAQ 7. – manatwork
Hola @manatwork, que explica la diferencia entre & foo y & foo(), pero ¿por qué se usa el ampersand en caso de ser necesario ... cuando ¿es necesario? –
En la sección Descripción [perlsub] (http://perldoc.perl.org/perlsub.html) enumera cuándo es '&' opcional. – manatwork