Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Caster en 31 Diciembre 2013, 17:28 pm



Título: [Perl] Función sort
Publicado por: Caster en 31 Diciembre 2013, 17:28 pm
Buenas, tengo un problema con la función sort, y es que solo ordena las primeras cifras de un número, busqué en la documentación de perl, pero viene todo en inglés y no entiendo nada. Tengo este código:
Código
  1. #!/usr/bin/perl
  2.  
  3. use warnings;
  4. use strict;
  5.  
  6. my @array = (5, 4, 1, 3, 7, 6);
  7. @array = sort @array;
  8. print $array[0] . "\n";
  9. print $array[1] . "\n";
  10. print $array[2] . "\n";
  11. print $array[3] . "\n";
  12. print $array[4] . "\n";
  13. print $array[5] . "\n";
La función sort ordena bien los números y la salida es la esperada, pero cuando cambio un elemento del array por un número de dos cifras, únicamente ordena la primera cifra, un ejemplo:

Código
  1. #!/usr/bin/perl
  2.  
  3. use warnings;
  4. use strict;
  5.  
  6. my @array = (5, 43, 45, 3, 7, 6);
  7. @array = sort @array;
  8. print $array[0] . "\n";
  9. print $array[1] . "\n";
  10. print $array[2] . "\n";
  11. print $array[3] . "\n";
  12. print $array[4] . "\n";
  13. print $array[5] . "\n";
La salida de este codigo es
Citar
2
3
43
45
5
6
Las unicas cifras que está ordenadas son las primeras.

Saludos


Título: Re: [Perl] Función sort
Publicado por: csp en 31 Diciembre 2013, 18:32 pm
Mirá acá:

http://stackoverflow.com/questions/6454744/sort-function-in-perl



Título: Re: [Perl] Función sort
Publicado por: Caster en 31 Diciembre 2013, 18:49 pm
Muchas gracias ;D