• Publicidad

Error leyendo archivos

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

Error leyendo archivos

Notapor BigBear » 2013-12-13 18:43 @821

Hola. Tengo el siguiente código.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. @paginas = repes( cortar( savewords("paginas.txt") ) );
  2.  
  3. print "uno : ".@paginas;
  4.  
  5. @paginas = repes( cortar( savewords("paginas.txt") ) );
  6.  
  7. print "dos : ".@paginas;
  8.  
  9. sub savewords {
  10.         my @words;
  11.         my @r;
  12.     open( FILE, $_[0] );
  13.     @words = <FILE>;
  14.     close FILE;
  15.     for (@words) {
  16.         push( @r, $_ );
  17.     }
  18.     return (@r);
  19. }
  20.  
  21. sub repes {
  22.     my @limpio;
  23.     foreach $test (@_) {
  24.         push @limpio, $test unless $repe{$test}++;
  25.     }
  26.     return @limpio;
  27. }
  28.  
  29. sub cortar {
  30.     my @nuevo;
  31.         my @leer;
  32.     for (@_) {
  33.         if ( $_ =~ /=/ ) {
  34.             @tengo = split( "=", $_ );
  35.             push( @nuevo, @tengo[0] . "=" );
  36.         }
  37.         else {
  38.             push( @nuevo, $_ );
  39.         }
  40.     }
  41.     return @nuevo;
  42. }
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


El tema es que siempre lee mal el segundo archivo.

¿ Qué error hay en el código ?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Publicidad

Re: Error leyendo archivos

Notapor explorer » 2013-12-13 20:03 @877

Yo no veo diferencias de lectura.

Lo puedes comprobar insertando esta línea:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1.     print "Leídas ", scalar(@words), " líneas\n";
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

Re: Error leyendo archivos

Notapor BigBear » 2013-12-13 20:14 @885

Estuve viendo y el problema es la función cortar que no sé qué es lo que está mal ¿ Ves algo raro en la función cortar ?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Re: Error leyendo archivos

Notapor explorer » 2013-12-13 20:35 @899

El único efecto colateral que veo es el del hash %repe.
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: Bing [Bot] y 11 invitados