[Cascavel-pm] Re:

Marco A P D´Andrade mda em embratel.net.br
Segunda Abril 4 14:57:58 PDT 2005


Rodrigo,

A resposta é sempre tão rápida quanto possível... mas nem sempre a 
melhor (como eu disse... contorno)  ;)

Ganhei no tempo, mas o detalhamento do Daniel é bem mais preciso e 
melhor qualificado, voto nas ideias dele ;) !!

Sds,
Marco Antonio

Rod Za wrote:

>Marco, que rapidez meu amigo. Valeu mesmo! :)
>
>Se eu fizer essas declaraćões/estrutura como vc propos, as funcoes contidas em Second.pm e 
>Thirth.pm farão da classe Test.pm?
>
>Ex: 
>Arquivo Test.pm
><code>
>package Test;
>use Second;
>sub new{
>        my $proto = shift;
>        my $class = ref($proto) || $proto;
>        my $self = {};
>        bless $self, $class;
>        return $self;
>}
>sub ret_two{
>       my $self = shift;
>       return $self->say_two();
>
>1;
>}
></code>
>Arquivo Second.pm
><code>
>package second; #?? tá certo??
>sub say_two{
>      my $self = shift;
>      print "two = 2";
>}
>1;
></code>
>
>valeu,
>
>Rodrigo
>
>--- Marco A P D´Andrade <mda em embratel.net.br> wrote:
>  
>
>>Rodrigo,
>>
>>Em minha opinião vc deve separar apenas os packages, se existirem, 
>>seguindo o modelo normal:
>>
>>Ex:
>>
>>    package MDA;   -> MDA.pm
>>    package MDA::Perl;   -> MDA/Perl.pm
>>    package MDA::Perl::Rio;   -> MDA/Perl/Rio.pm ;)
>>
>>Existem recursos para usar outras estruturas, mas seriam contornos 
>>apenas... A exemplo, criar arquivos e usar require/use especiais:
>>
>> > Test.pm
>>package Test;
>>use Second;
>>require "Thirth.pm";
>>...
>>sub a ...
>>sub b ...
>>1;
>>
>> > Second.pm
>>package Test;
>>sub c...
>>sub d ...
>>1;
>>
>> > Thirth.pm
>>package Test;
>>sub d...
>>sub e...
>>#-----------
>>
>>
>>Sds,
>>Marco Antonio
>>
>>
>>Rod Za wrote:
>>
>>    
>>
>>>Olá.
>>>
>>>Eu criei uma classe com vários metodos em um único arquivo .pm e este está funcionando
>>>perfeitamente só que ficou muito grande o arquivo e a manuten&#263;ão está um pouco confusa por
>>>este motivo.
>>>
>>>Eu gostaria de saber como posso fazer para separar alguns métodos (por especialidade) em outros
>>>arquivos .pm e que estes fa&#263;am parte da classe principal.
>>>
>>>Ex: classe_principal.pm
>>>   metodos_db_da_classe_principal.pm
>>>   metodos_para_lidar_com_outras_coisas_especificas.pm
>>>
>>>Muito obrigado,
>>>
>>>Rodrigo
>>>
>>>
>>>
>>>__________________________________________________
>>>




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