[PortoAlegre-pm] Duvida duplicatas array

Igor Garcia igorgf em gmail.com
Sexta Fevereiro 8 12:22:02 PST 2008


Não vou explicar passo a passo porque isso tu podes ver consultando o
perldoc de cada um dos itens...
Mas a tecnica é simples, consiste em jogar o valor duplicado como chave de
um hash (que nao aceita duplicações)... Depois retorna-se os keys desse hash
(que sao os elementos do array, porém sem duplicidade)...
Neste caso, usaram o grep para fazer as iterações, mas poderiamos usar tb
map ou foreach.

Um exemplo similar seria:

my %seila = (); # hash temporario utilizado para remover as duplicidades
foreach my $a (@array){ $seila{$a}++; }; # itera o array com valores
duplicados
my @unique = keys %seila; # cria um array com base nas chaves do hash
temporário

Espero ter ajudado.

Igor Garcia








Em 07/02/08, Patty Silva <ptfzs em yahoo.com.br> escreveu:
>
> Pessoal.. alguem poderia me explicar o comando abaixo:
>
> my %seen = ();
> my @unique = grep { ! $seen{ $_ }++ } @array;
>
> --> para eliminar elementos repetidos de um array...
>
> Obrigada :D
>
> ------------------------------
> Abra sua conta no Yahoo! Mail<http://br.rd.yahoo.com/mail/taglines/mail/*http://br.mail.yahoo.com/>,
> o único sem limite de espaço para armazenamento!
>
> _______________________________________________
> PortoAlegre-pm mailing list
> PortoAlegre-pm em pm.org
> http://mail.pm.org/mailman/listinfo/portoalegre-pm
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/portoalegre-pm/attachments/20080208/cbad8be9/attachment.html 


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