Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

No veo datos de fichero en el explorador

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> CGI
Mensaje Mie Jun 27, 2007 3:12 am
Guiller
Perlero Nuevo
Perlero Nuevo
Registrado: 27 Jun 2007
Mensajes: 3
No veo datos de fichero en el explorador Responder citando

Este es el codigo:

Perl:

#!/usr/bin/perl

use strict;
require "cgi-lib.pl";

my $RASpath = "/";
my $RASlist = "$RASpath/RAS.list";   

# ---- Leemos el fichero de RASes  ----------------------------------------
open (RASES,"$RASlist")# Abro el archivo
my @RASes = <RASES># Leo...
close (RASES);                 # Cierro el archivo

print "Content-type: text/html\n\n";
print <<HTML;
<HTML>
<HEAD>
<TITLE>Datos</title>
<BODY>
HTML

foreach my $ras (@RASes){
        chomp($ras);
        print "<h4>$ras</h4><br>\n";
}

print "</BODY>\n";
print "</HTML>\n";


Como veis, basicamente leo los datos de un fichero y los presento por pantalla.

Pues bien, al ejecutarlo en el terminal todo va bien, veo los datos.. incluso si copio la salida del script a un fichero .html y luego lo abro con el explorador, perfecto.

Si lo ejecuto directamente con el explorador es como si no leyera el fichero y no presenta nada.... ?!?!?

He comprobado permisos y demas, he probado con superusuario y con mi usuario normal... nada. Empiezo a desesperar, alguna idea?
Mensaje Mie Jun 27, 2007 3:31 am
Guiller
Perlero Nuevo
Perlero Nuevo
Registrado: 27 Jun 2007
Mensajes: 3
Responder citando

Simplificando un poco el codigo (aunque el problema persiste)

Perl:

#!/usr/bin/perl

use strict;
require "cgi-lib.pl";

# ---- Leemos el fichero
open (RASES,"/var/log/Datos/RAS.list")# Abro el archivo
my @RASes = <RASES>;   
close (RASES);         

print "Content-type: text/html\n\n";
print "<HTML><HEAD><TITLE>Indice llamadas CVX DIA</TITLE></HEAD><BODY>";

foreach my $ras (@RASes)
{
        chomp($ras);
        print "<h4>$ras</h4><br>\n";
}
print "</BODY></HTML>";
Mensaje Mie Jun 27, 2007 6:36 am
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4091
Ubicación: Valladolid, España
Responder citando

Pon un die en el open() para saber si lo abre o no.
Mensaje Mie Jun 27, 2007 7:42 am
Guiller
Perlero Nuevo
Perlero Nuevo
Registrado: 27 Jun 2007
Mensajes: 3
Tenias razon Responder citando

El usuario con el que entraba a la maquina desde el navegador era diferente al mio, el problema era de permisos... muchas gracias
Mensaje Mie Jun 27, 2007 2:31 pm
kidd
Creador de Perl en Español
Creador de Perl en Español
Registrado: 15 Oct 2003
Mensajes: 1389
Ubicación: México
Responder citando

Hola:

Por eso siempre es buena práctica checar errores al abrir archivos, de esa manera te aseguras de que realmente está abriendose el archivo, por ejemplo:

Perl:
open my $FILE, '<', '/ruta/al/archivo.txt' or die("No se pudo abrir el archivo: $!");



Saludos
Publicar nuevo tema   Responder al tema    Foros de discusión -> CGI Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group