[Rio-pm] [DUVIDA] Chamar função sem declarar construtor

Blabos de Blebe blabos em gmail.com
Terça Abril 29 14:35:35 PDT 2014


Opa,

Junior, a forma que você sugeriu é um dialeto mais antigo. Hoje em dia (e
desde a época do Perl Best Practices, pg 407), o recomendado é herdar do
módulo Exporter, e utilizar o @EXPORT_OK ao invés do @EXPORT diretamente.

Eu vou ficar devendo todas as referências mas vou deixar a do MPB:
http://modernperlbooks.com/books/modern_perl_2014/09-managing-perl-programs.html

O mais atual seria algo como:

package Foo;

use base 'Exporter'; ## Ou use parent, dependendo da versão do Perl

our @EXPORT_OK = qw{ func1 func2 };

sub func1 {}

...

1;

[]'s




2014-04-29 18:15 GMT-03:00 Junior Moraes <juniiior182 em gmail.com>:

> Hi.
>
> Em 29 de abril de 2014 18:07, Blabos de Blebe <blabos em gmail.com> escreveu:
>
> Só mais uma coisa,
>>
>> Isso não tem nada a ver com Exporter.
>>
>> []'s
>>
>
> Eu acho que ele tá perguntando mesmo como exportar uma sub e torná-la
> possível ser chamada à partir de outro script bastando dar um use no
> módulo, e não como invocar um método estaticamente como eu pensei.
>
> Creio que o jeito mais roots seria:
>
>
>
>
>
>
>
>
> *package Modulo::Modulo;use vars qw(@ISA @EXPORT);@ISA    =
> (qw(Exporter));@EXPORT = qw(acp); sub acp {*
>
> *...*
> *}*
> 1;
>
> Deste modo, Aureliano, bastará dar um *use* em Modulo::Modulo e a função
> acp() estará acessível, assim como no Math::Prime::Util.
>
> []'s
>
>  _______________________________________________
>
>> Rio-pm mailing list
>> Rio-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20140429/fd62abf9/attachment.html>


Mais detalhes sobre a lista de discussão Rio-pm