• Publicidad

Problema Sort + Array + Hash

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Problema Sort + Array + Hash

Notapor opmeitle » 2012-07-31 00:37 @067

Hola, ¡¡muy buenas noches!! Acá en Argentina ¡¡son las 02:34 matina!! Ya hora de dormir, pero bueno, me cansé de intentar solucionar esto pero no pude.

El código habla por si solo, no entiendo cómo configurar el sort() para que me devuelva una salida como la que necesito.

Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
  1. cat /home/delkav/labs-scripts/grep
  2. $90850
  3. $0
  4. $389
  5. $469
  6. $670
  7. $750
  8. $684
  9. $21744
  10. $604
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. %ttys = ();
  2. my @lsarray = `cat /home/delkav/labs-scripts/grep`;
  3. my @array;
  4. $array[0] = <STDIN>;
  5. $array[1] = <STDIN>;
  6. $array[2] = <STDIN>;
  7. $array[4] = <STDIN>;
  8. $array[5] = <STDIN>;
  9. $array[6] = <STDIN>;
  10. $array[7] = <STDIN>;
  11. $array[8] = <STDIN>;
  12. @ttys{@lsarray} = @array;
  13. print "@{[%ttys]}\n"
  14. __END__
  15. # ENTRADA EN STDIN ES "UNO, DOS,TRES, ... SIETE, OCHO, NUEVE"
  16. # LA SALIDA QUE IMPRIME EL SCRIPT
  17. $684
  18. SIETE
  19. $469
  20. CUATRO
  21. $21744
  22. OCHO
  23. $670
  24. CINCO
  25. $389
  26. TRES
  27. $90850
  28. UNO
  29. $0
  30. DOS
  31. $750
  32. SEIS
  33. $604
  34. NUEVE
  35.  
  36. # LO QUE NECESITO
  37. $90850
  38. UNO
  39. $0
  40. DOS
  41. $389
  42. TRES
  43. $469
  44. CUATRO
  45. $670
  46. CINCO
  47. $750
  48. SEIS
  49. $684
  50. SIETE
  51. $21744
  52. OCHO
  53. $604
  54. NUEVE
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Gracias
opmeitle
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2012-03-23 22:11 @966

Publicidad

Re: Problema Sort + Array + Hash

Notapor explorer » 2012-07-31 09:20 @430

Los hash no guardan la información en el mismo orden en que ha sido creado. Más información en tu propio ordenador en perldoc perldata, y en la Web (traducido).

Yo no veo ningún sort() por ningún lado... lo que veo es que quieres poner una etiqueta a cada número del archivo de entrada.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/env perl
  2. use strict;
  3. use warnings;
  4. use diagnostics;
  5. use autodie;   # «Mejor morir que regresar con deshonor» --Proverbio Kinglon
  6.  
  7. open my $DOLARES, '<', '/home/delkav/labs-scripts/grep';
  8.  
  9. while (my $cantidad = <$DOLARES>) {
  10.     print $cantidad;
  11.  
  12.     my $etiqueta = <>;
  13.     print $etiqueta;
  14. }
  15.  
  16. close $DOLARES;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Aunque, si las etiquetas siempre son las mismas, pues podemos programarlas...

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/env perl
  2. use strict;
  3. use warnings;
  4. use diagnostics;
  5. use autodie;             # «Mejor morir que regresar con deshonor» --Proverbio Kinglon
  6.  
  7. my @etiquetas = qw(
  8.     UNO    DOS    TRES    CUATRO    CINCO
  9.     SEIS   SIETE  OCHO    NUEVE     DIEZ
  10. );
  11.  
  12. open my $DOLARES, '<', '/home/delkav/labs-scripts/grep';
  13.  
  14. for my $etiqueta (@etiquetas) {
  15.     my $cantidad = <$DOLARES>;
  16.     print $cantidad;
  17.     print $etiqueta;
  18. }
  19.  
  20. close $DOLARES;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados