• Publicidad

Guardar en un txt

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

Guardar en un txt

Notapor Aspire » 2010-05-27 04:21 @222

Hola, estoy con un bot que baja noticias de una web pero estoy con el problema que no me guarda en el txt y no veo el error; a ver si alguien podría ayudarme

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
for ($_c = 0;$_c < $#noticias; $_c++) {
    open(F,">>sport.txt");
    print F "call"     . $noticias[$_c][0]
          . "\nFech: " . $noticias[$_c][1]
          . "\nTi: "   . $noticias[$_c][2]
          . "\nLink: " . $noticias[$_c][3]
          . "\nDesc: " . $noticias[$_c][4]
          . "\n\n"
          if ($noticias[$_c][5]);
    close(F);
}
 
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Gracias
Aspire
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2010-05-27 04:16 @219

Publicidad

Re: Guardar en un txt

Notapor explorer » 2010-05-27 04:32 @230

Bienvenido a los foros de Perl en Español, Aspire.

Yo no problemas en el código. Veo que las noticias solo quedan grabadas si el campo $noticias[$_c][5] contiene algo distinto de falso (un cero o la cadena vacía o está indefinido).
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Guardar en un txt

Notapor Aspire » 2010-05-27 04:36 @233

¿Y cómo puedo guardar en el txt?
Aspire
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2010-05-27 04:16 @219

Re: Guardar en un txt

Notapor explorer » 2010-05-27 05:34 @274

Yo veo en el código que se hacen los tres pasos mínimos: open(), print() y close(). Quizás, por seguridad, se podría poner una sentencia die() en el open() para el caso de que no se pueda escribir en el fichero por alguna razón:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
    open(F,">>sport.txt") or die "ERROR: No puedo escribir: $!\n";
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

pero del resto, yo no veo problemas.

Creo que el problema está en lo que se almacena en @noticias.

Puedes probar a ver su contenido de esta manera:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use Data::Dumper;
print Dumper(\@noticias);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Y comprueba si los elementos sextos de cada subarray contienen valores definidos.

U otra opción: dentro del bucle for() que nos muestras, justo antes del open(), inserta esta línea:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
    if (! $noticias[$_c][5]) {
        print "La noticia $_c no será impresa\n";
    }
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Así sabrás qué noticias salen y cuales no.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
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 1 invitado

cron