Estoy creando el típico módulo con una serie de funciones que luego se usarán en otro script. Y tras leer documentación, entiendo que lo mejor es exportar esas funciones, y aquí es donde me aparecen las dudas:
Cuando se usan en el script esas funciones del módulo, se las llama simplemente con el nombre:
Using perl Syntax Highlighting
- use strict;
- use warnings;
- ...
- use Mimodulo.pm; # donde está definida la función f_leerTabla(), y que se exporta
- ...
- # Código del script
- ...
- f_leerTabla($tabla,$reg); # llamada a función de Mimodulo.pm
- ...
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Pero a medida que el código va haciéndose más grande y se necesitan llamadas a distintas funciones de distintos módulos, al usar la llamada a función como en el ejemplo de arriba, a la largo llevará a problemas de compresión.
Por eso sé que se pueden llamar a las funciones de los distintos módulos, sin necesidad de exportar esas funciones usando:
Using perl Syntax Highlighting
- ...
- Mimodulo::f_leerTabla($tabla,$reg);
- ...
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
De esta forma está mucho más claro saber dónde está la función usada.
Y las preguntas serían:
1- ¿Se pierde rendimiento al no exportar esas funciones del módulo?
2- Si se exportan esas funciones, y se usa la llamada usando el separar "::", ¿es una redundancia que no sirve para nada?
Un saludo.