[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