[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