[Cascavel-pm] Outro probleminha....

Adriano Vivan Borro vivan em dim.fm.usp.br
Quinta Outubro 9 16:41:15 CDT 2003


Gente,

Eu rodei a rotina que o Flavio me sugeriu, mas nao me retornou o esperado.
Vejam onde posso ter errado, plz.

open (NOMES,"nomes2.txt);
open (SAI,">sai.txt);
while (<NOMES>)
{
    ($nome,$sobrenome)=chomp && split;
    $h{$nome}{$sobrenome}++;
};
for $nome (sort keys %h) {
    print  SAI {"$nome ",
    join(',', keys %{$h{$nome}})," ",
    0 + keys %{$h{$nome}},"\n"};
}

A saida obtida foi....

HASH(0x100216a8)HASH(0x1002169c)HASH(0x100216cc)HASH(0x100216a8)HASH(0x1002169c)HASH(0x100216a8)

O q pode estar acotecendo?

Tks,
Adriano.

Flavio S. Glock wrote:

> Adriano Vivan Borro wrote:
> >
> > Opa,
> >
> > To quase chegando lah. O problema eh q eu precisava ordenar um arquivo
> > de 3 ou mais colunas. Tentei usar a rotina, mas nao deu certo. Digamos
> > que tenho entao, um arquivo com nomes e sobrenomes. Quero processa-lo de
> > tal forma que me retorne um arquivo com os nomes ordenados (aparecendo
> > uma unica vez), os sobrenomes relativos aos nomes, e a quantidade de
> > vezes que esse nome apareceu. Tb, nao entendi muito bem o exemplo do
> > flavio. O q este map faz? Enfim... Tah ae a rotina que eu escrevi, com a
> > ajuda d vcs:
> >
> > #!/bin/perl
> > open (NOMES,"nomes.txt");
> > open (OUTPUT,">output.txt);
> >
> > #rotina do flavio, q nao consegui rodar e nao entendi muito bem
> > #while (<NOMES>)
> > #{
> > #    chomp;
> > #    $h{$_}++};
> > #    print map { "$_ $h{$_}\n" } sort key %h;
> >
> > while (<NOMES>)
> > {
> >     chomp;
> >     $count{$_}++;
> > }
> > @keys=sort {
> >     $_{$a} cmp $_{$b}
> >     } keys %count;
> > foreach (@keys) {
> >     print OUTPUT "$_\t$count{$_}\n";
> >     }
> > close OUTPUT;
> > close NOMES;
> >
> > Bem... Resumindo...
> >
> > Tenho o arquivo:
> >
> > Zeh Silva
> > Scheila Carvalho
> > Zeh Tripeh
> > Claudia Shiffer
> > Zeh Maneh
> >
> > E quero como saida:
> >
> > Claudia    Shiffer    1
> > Scheila    Carvalho    1
> > Zeh    Maneh, Silva, Tripeh    3
>
> Sem map, desta vez:
>
>   while (<>)
>   {
>       ($nome,$sobrenome) = chomp && split;
>       $h{$nome}{$sobrenome}++
>   };
>
>   for $nome ( sort keys %h ) {
>       print "$nome ",
>             join(',', keys %{$h{$nome}}) ," ",
>             0 + keys %{$h{$nome}}, "\n";
>   }
>
> # saída:
> Claudia Shiffer 1
> Scheila Carvalho 1
> Zeh Tripeh,Silva,Maneh 3
>
> - Flavio S. Glock
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em mail.pm.org
> http://cascavel.pm.org/mailman/listinfo/cascavel-pm
>
> --------------------------
> Esta mensagem foi verificada
> pelo sistema de antivírus DIM e
> acredita-se estar livre de Virus.
> Virus data file v4296 created Oct 01 2003




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