só um &quot;patch&quot;:<br><br><span style="font-family: courier new,monospace;"># é $a e $b, não dois $_ :-)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">my @sorted = sort{$a-&gt;{$campo} &lt;=&gt; $b-&gt;{$campo} } @dados;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">foreach my $item (@sorted) {</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
 &nbsp; print $item-&gt;{campo1};</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> &nbsp; print $item-&gt;{campo2};</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
 &nbsp; #etc...</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">}</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><div>
<span class="gmail_quote">On 1/23/07, <b class="gmail_sendername">Eden Cardim</b> &lt;<a href="mailto:edencardim@gmail.com">edencardim@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On 1/23/07, Thomas Britis &lt;<a href="mailto:thomas@tcnet.com.br">thomas@tcnet.com.br</a>&gt; wrote:<br>&gt; Eden,<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Obrigado pela resposta.<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Porém, o uso do %ENV foi apenas exemplificativo. O que acontece na
<br>&gt; prática é o seguinte:<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Eu tenho um programa que carrega as informações em um hash da seguinte<br>&gt; forma:<br>&gt;<br>&gt; $hash[$count] = ({ campo =&gt; valor });<br>&gt;<br>&gt; E, é claro que tenho diversos campos e diversos valores para cada campo.
<br>&gt; O que quero é ordenar por um dos campos existentes.<br><br>Ainda acho que você não precisa do hash de hashes. Porque não carregar<br>os dados num array, já que o índice é numérico?<br><br>&gt; Hoje, o que eu faço é:
<br>&gt; $campo{$count} = $valor;<br>&gt; @result = sort {&nbsp;&nbsp;$campo{$a} cmp $campo{$b} } keys %campo;<br>&gt;<br>&gt; e depois de fazer o sort eu gero novamente a hash, porém considero isso<br>&gt; uma perda de tempo pois o resultado, como vc mesmo disse, é uma array.
<br>&gt; Preciso então comparar o resultado com o valor na hash e ordenar.<br>&gt; Imagino que deva haver maneira de se fazer isso de forma mais simples.<br><br>Assumindo que os dados tão carregados num array:<br><br>my @sorted = sort{$_-&gt;{$campo} &lt;=&gt; $_-&gt;{$campo} } @dados;
<br>foreach my $item (@sorted) {<br>&nbsp;&nbsp; print $item-&gt;{campo1};<br>&nbsp;&nbsp; print $item-&gt;{campo2};<br>&nbsp;&nbsp; #etc...<br>}<br><br>Se quiser continuar usando um hash de hashes, use a &quot;tranformação<br>schwartziana&quot;, para não perder a associação entre chaves e valores.
<br><br>--<br>Eden Cardim<br>Instituto Baiano de Biotecnologia<br>Núcleo de Biologia Computacional e Gestão de Informações Biotecnológicas<br>Laboratório de Bioinformática<br>--<br>&quot;you seem to think that &#39;close enough&#39; is close enough...
<br>please learn to be &#39;literal&#39; around programming.&quot;<br>merlyn - on irc.freenode.net#perl<br>_______________________________________________<br>SaoPaulo-pm mailing list<br><a href="mailto:SaoPaulo-pm@pm.org">
SaoPaulo-pm@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br></blockquote></div><br><br clear="all"><br>-- <br>[]s<br>Wendel<br><br>&quot;Não ajustar o auto-ajuste&quot; - 
<a href="http://wendel.scardua.net/">http://wendel.scardua.net/</a>