[Cascavel-pm] Duvidas sobre Módulos e o uso do Exporter.
Nilson Santos Figueiredo Jr.
acid06 em gmail.com
Quarta Dezembro 23 19:03:33 PST 2009
2009/12/23 Giuliani Deon Sanches <giulianisanches em gmail.com>:
> 1) Qual a diferença entre dar um use Imprime; e um use Imprime (); já
> que no final das contas eu vou ter que chamar Imprime::aviso ?
Se você tivesse declarado suas funções dentro de uma array @EXPORT e
não @EXPORT_OK, elas seriam automaticamente exportadas por padrão.
O uso de "use Imprime ()" inibiria estes imports padrão.
Para importar as funções do @EXPORT_OK, você deve explicitamente pedir por elas:
use Imprime qw/aviso erro/;
Agora você vai poder chamar "aviso()" ao invés de Imprime::aviso().
> Suponto um módulo Imprime2, indentico ao descrito anteriormente porém
> sem o uso do Exporter:
Se você não utilizasse o Exporter, elas não seriam exportadas caso o
usuário requisitasse, conforme descrito acima.
-Nilson Santos F. Jr.
Mais detalhes sobre a lista de discussão Cascavel-pm