[Cascavel-pm] Passando diversos arraies para uma função !

Ednardo Lobo ednardo em elobo.cjb.net
Domingo Junho 22 22:07:31 CDT 2003


On Sun, Jun 22, 2003 at 09:19:27PM -0300, Solli Moreira Honorio wrote:
> Pessoal,
>  
> Estou até meio envergonhado com a  pergunta que vou fazer, afina eu me
> achava já meio rodado no Perl, mas já pesquisei em vários documentos e
> não consegui responder a minha dúvida.
>
> Bom,  normalmente sempre  passo referencias  para as  funções, é  mais
> rápido, e por este motivo nunca  tive nenhum problema, mas agora estou
> programando com thread  e estou evitando esta técnica  para evitar dor
> de cabeça no futuro, mas estou tento agora.
>
> O meu problema  é que estou tentando passar diversos  arraies para uma
> função,  e quando  tento receber  os  arraies todos  os elementos  das
> arraies ficam apenas na primeira array  e as outras ficam vazias, como
> no exemplo abaixo. Se passo referencia, tudo funciona numa boa.
>
> Estou comendo bola em alguma coisa ??? 
>  
> Solli
>  
> === code ===
>  
> my @Test01 = qw (Element01 Element02 Element03);
> my @Test02 = qw (Element04 Element05 Element06);
>  
> Test (@Test01, @Test02);
>  
> sub Test
> {
>     my (@T01, @T02) = @_;
>     print "Número de elementos no primeiro array: $#T01\n";
>     print "Número de elementos no segundo  array: $#T02\n";
> }
>  
> == output ==
> Número de elementos no primeiro array: 5
> Número de elementos no segundo  array: -1

    Nessa situação, é preciso usar referências!
    
    O array @T01 irá sempre receber todos os elementos de @_!


    E depois passar  arrays como parâmetro não é  muito eficiente, mesmo
que a Perl seja capaz de lidar com isso muito bem.
   
   
    Abraços,

-- 
    Ednardo Lobo - www.elobo.cjb.net, www.lobosnet.com

    Por favor, evitem enviar anexos no formato MS-Office, obrigado!
    Veja: http://www.fsf.org/philosophy/no-word-attachments.pt.html



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