[SP-pm] Subs

Andre Carneiro andregarciacarneiro at gmail.com
Sun Mar 24 04:57:07 PDT 2013


Bom, ja que vc esta usando Moose, poderia agrupar o que vc precisa em um
modulo, utilizando use Moose::Role. Depois, transforma o seu modulo em um
modulo`Pluggable` via MooseX::Object::Pluggable  . Algo do tipo:


<code>

package MyModule::Plugins::MyPlugin;
use Moose::Roles
#crie atributos, variaveis de classe e as utilidades do seu plugin aqui....


666; #retornando algum valor verdadeiro...

#No seu modulo principal, ou em algum modulo que vc vai tornar plugavel...

package MyMainModule;
with 'Moose::Object::Pluggable';

#trecos do modulo principal aqui...

__PACKAGE__->meta->make_immutable; #isso faz uma diferenca absurda no
desempenho!
666;

#usando o modulo em um  outro script, classe whatever...

use MyMainModule;
my $mm = MyMainModuloe->new(...);
$mm->load_plugin('MyPlugin');

$mm->algodomeuplugin();



</code>
Cheers!



2013/3/23 Marcio Ferreira <marciodesouzaferreira at gmail.com>

> Ah! Blz... é que perl tem cada truque ~escondido~, que penso ser mais um
> que nao conheço.
>
> Outro dia descobri que é possivel usar um array como chave de hash, porém
> não se recupera a lista em vias normais, mas usando o Hash::MultiKey[
> http://search.cpan.org/~fxn/Hash-MultiKey-0.06/MultiKey.pm], vc consegue
> voltar a trabalhar com a lista :P
>
> []s,
>
> Marcio Ferreira
> skype: marcio.ferreir4
> (21) 8365-7768
>
>
> 2013/3/23 Solli Honorio <shonorio at gmail.com>
>
>> Marcio desculpa, é que são tantos Marcio neste post que eu me confundi.
>> Claro que você conhece bem isto, mas eu pensei que a dúvida fosse o
>> MarcioRP.
>>
>> Eu NUNCA utilizo o 'a' e/ou 'b' justamente pelo problema que você
>> informou do hack do sort, e o Renato tem razão, o simples 'my ($a, $b)' já
>> localiza as variáveis e o 'undef' aí é só para a leitura do humano e não
>> tem função prática para o compilador.
>>
>> Solli Honorio
>>
>>
>>
>>
>> Em 23 de março de 2013 19:00, Marcio Ferreira <
>> marciodesouzaferreira at gmail.com> escreveu:
>>
>>> 2013/3/23 Solli Honorio <shonorio at gmail.com>
>>>
>>>> Marcio,
>>>>
>>>> Faça um teste :
>>>>
>>>> perl -Mstrict -e '$a=1'
>>>>
>>>> e depois
>>>>
>>>> perl -Mstrict -e '$c=1'
>>>>
>>>> Me diga o resultado disto e tente enteder o motivo ... eu prometo
>>>> explicar, mas faça isto primeiro !
>>>>
>>>
>>> Sei que o $a e $b são variaveis já conhecidas do compilador, conheço
>>> isso pelo hack que há no _sort_, mas a forma de como foi declarado "my
>>> ($a,$b)=undef" nao resolve nada disso, já que só $a recebe _undef_ e $b nao
>>> recebe nada.
>>>
>>> =begin disclaimer
>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end disclaimer
>>>
>>>
>>
>>
>> --
>> "o animal satisfeito dorme". - Guimarães Rosa
>>
>> =begin disclaimer
>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>>
>
> =begin disclaimer
>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>


-- 
André Garcia Carneiro
Software Engineer
(11)982907780
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20130324/99d856c1/attachment-0001.html>


More information about the SaoPaulo-pm mailing list