[Cascavel-pm] Ordenar hash

Wagner Arbex arbex em email.com.br
Sexta Fevereiro 16 18:51:02 PST 2007


Prezados colegas;

Apesar de ser um programador com razoável tempo de estrada, comecei a
trabalhar com Perl muito recentemente... estou no início mesmo.

Assim, estou aprendendo o caminho das pedras, principalmente me
acostumando com a sintaxe e com a idéia de que "existe mais e uma
maneira de fazer", além disso, tb estou muito impressionado com o que
posso fazer e com a flexibilidade que tenho com poucas linhas de
código.

Tenho uma dúvida de iniciante que já pesquisei bastante, mas não acho
a resposta. Parece ser uma dúvida ridícula, mas...

A questão é que tenho um hash bastante simples, por ex:

%hash1 = ("AA",0,"CB",0,"BA",0,"TG",0);

Durante a execução do programa os valores "0" são alterados, ficando, por ex:

("AA",5,"CB",2,"BA",10,"TG",3)

e algumas vezes preciso imprimir o hash ordenado pelo índice e então faço:

foreach $n (sort keys %hash1) {

                       print ...

}

e obenho o resultado esperado, p ex:

AA - 5
BA - 10
CB - 2
TG - 3

Mas o que eu não estou conseguindo fazer é imprimir o hash ordenado
pelo valor e não pelo índice. Ou seja, precisava da seguinte saída:

CB - 2
TG - 3
AA - 5
BA - 10

Desde já, aagradeço qq ajuda.

[]s e obrigado
Arbex

--
  Wagner Arbex


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