>>>>> "Marcio" == Marcio  <- Google <marci...@gmail.com>> writes:

    Marcio> Na ordenação eu empaquei. O código não dá erro, mais não
    Marcio> ordena. Alguma dica? Pesquisei na net, mais não consegui
    Marcio> mesmo.

Provavelmente tem a ver com ordenação por string (invés de numérica).
Nesse caso, você precisa converter as strings em números de alguma
forma, e depois ordenar, geralmente se usa uma técnica conhecida como
"schwartzian transform":

my @chaves_ordenadas =
  map  { $_->[0] }              # converte de volta pro valor original
  sort { $a->[1] <=> $b->[1] }  # compara usando a parte numérica
  map  { [$_, /(\d+)/] }        # pra cada chave, criar um array com 2 
elementos:
                                # $_->[0] contém o valor original
                                # $_->[1] contém o valor numérico
  keys %registros;

my @registros_ordenados
  = @registros{@chaves_ordenadas}; # retorna os registros na ordem das chaves

-- 
Eden Cardim -- Insolide Soluções de TI Ltda.
+55 11 9644 8225
http://insoli.de
=begin disclaimer
   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
 SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org
 L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer

Responder a