[Cascavel-pm] Outro probleminha....

Adriano Vivan Borro vivan em dim.fm.usp.br
Segunda Outubro 6 16:14:53 CDT 2003


Bem...

 O hash possui apenas 1 indice ( eh isso mesmo ??? ). Como faco entao pra estar ordenando um arquivo com,
digamos... 4 colunas. Estou querendo montar um Banco de dados para trata-lo usando perl.....

tks
[]'s

Nelson Ferraz wrote:

> >>Arquivo de Entrada:
> >>
> >>Joseh
> >>Claudia
> >>Joseh
> >>Lucia
> >>Adriano
> >>Maneh
> >>Claudia
> >>Lucia
> >>Joseh
> >>Joseh
> >>Maneh
> >>
> >>Arquivo de Saida:
> >>
> >>Adriano        1
> >>Claudia        2
> >>Lucia        2
> >>Joseh            4
> >>Maneh        2
> >
> > - em uma linha:
> >
> > perl -e ' while(<>){ chomp; $h{$_}++ }; print map { "$_ $h{$_}\n" } sort
>
> Permita-me apenas desenvolver um pouco mais a explicação.
>
> Sempre que você encontrar um problema deste tipo, calcular a quantidade
> de cada item em uma lista, você deve pensar automaticamente em um hash.
>
> foreach (@nome) {
>    $count{$_}++;
> }
>
> Após este loop você terá a seguinte estrutura:
>
> %count = (
>         'Lucia => 2,
>         'Adriano' => 1,
>         'Joseh' => 4,
>         etc.
> );
>
> No exemplo do Flavio Glock, ele está obtendo as informações diretamente
> da entrada padrão:
>
> while (<>) {
>    chomp;
>    $count{$_}++;
> }
>
> O próximo passo é ordenar o hash por valor:
>
> @keys = sort {
>      $count{$a} cmp $count{$b}
> } keys %count;
>
> http://www.perldoc.com/perl5.8.0/pod/perlfaq4.html#How-do-I-sort-a-hash-(optionally-by-value-instead-of-key)-
>
> E então, imprimir os resultados:
>
> foreach (@keys) {
>    print "$_\t$count{$_}\n";
> }
>
> --
> []s
>
> Nelson
>
> ________________________________________________________________
> Nelson Ferraz
>
> GNU BIS: http://www.gnubis.com.br
> PhPerl:  http://www.phperl.com
>
> _______________________________________________
> 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