🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #6030

Harto de Perl-CGI

#6030
From: Count Zero
Date: Thu, 14 Aug 2003 14:20
85 lines
3715 bytes
Aunque llevo ya un tiempo haciendo mis programillas y scripts en perl (y
retocando algunos que pasan por mis manos), sin ning�n problema y un �xito
bastante satisfactorio (IMHO), no hay forma de que me funcionen los
scripts Perl-CGI que hago.

Mi intenci�n:

Hacer un script CGI con perl, que devuelve al servidor una p�gina HTML con
el contenido de un fichero determinado. Al final de la misma pagina hay
un formulario con ACTION al mismo script que permite a�adir una nueva
l�nea al fichero en question.

El algorismo b�sico �s :

Si hay parametros del FORM (leidos mediante CGI:param) entonces
	A�adir nueva linea al fichero
fi-si
Devolver HTML
	Cabecera
	contenido del fichero
	formulario
fin-HTML

Dado que supongo que se debe tratar de un error t�pico de los nuevos
'padauan', no postear� (a no ser que me lo pidais) el script entero. Debo
decir que no lo he probado en ning�n servidor web a�n. Lo ejecuto en l�nea
de comandos pasandole los campos mediante un
	 cat fichero | script-cgi
Habiendo dentro del fichero la cadena:
	date=2003-08-10&event=prueba

Por cierto: �Alguna forma de provar los scripts sin tener que usar el
servidor web ? En uno de los tutoriales que sigo, dice que perl pide los
parametros por consola al detectar CGI.pm (offline-mode), pero a mi no me
pasa.

B�sicamente:

#!/usr/bin/perl -Tw
use strict;
use CGI qw(:standard);

# leo los parametros del formulario 'date' y 'event'
my $date=param("date");
my $event=param("event");

Al ejecutar la prueba 'cat fichero | ./script-cgi > ~/page.html'

Me suelta esto:

Name "main::end_table" used only once: possible typo 
	at ./eventlog line 109.
Name "main::start_table" used only once: possible typo 
	at ./eventlog line 103.
Use of uninitialized value in concatenation (.) or string at ./eventlog
line 75.
Use of uninitialized value in concatenation (.) or string at ./eventlog line 75.
print() on unopened filehandle start_table at ./eventlog line 103.
print() on unopened filehandle end_table at ./eventlog line 109.

NOTAS:
- Genera correctamente la pagina page.html, aunque sin la nueva l�nea.
- En la lin. 109 y 103 se queja de un print on unopened file y de un
'possible typo', en estas l�nieas hay respectivamente un 

print start_table();
print end_table();

Que no generan el <table> ni el </table> a�n habiendo puesto el "use CGI
qw(:standard);

- Los 'use of uninitialized value' hacen referencia a $date y $event que
en la linea anterior a esa hago:

$date=param('date');
$event=param('event');

No se me ocurre donde puede haber el problema, qualquier sugerencia,
cr�tica o refer�ncia a algun buen documento sera agradecida. Si deseais
ver el script entero pedid-lo y lo postear�.

Muchas gracias.

Salut
Count
Technical Details
Message-ID: <pan.2003.08.14.14.20.14.830166@l3jane.net>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!headwall.stanford.edu!fu-berlin.de!uni-berlin.de!171.red-80-36-170.pooles.rima-tde.NET!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,5de78cdd9c81965e,start
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2003-08-14 07:20:19 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!headwall.stanford.edu!fu-berlin.de!uni-berlin.de!171.red-80-36-170.pooles.rima-tde.NET!not-for-mail
From: "Count Zero" <mark@l3jane.net>
Newsgroups: es.comp.os.linux.programacion
Subject: Harto de Perl-CGI
Date: Thu, 14 Aug 2003 16:20:15 +0200
Organization: Lady 3Jane
Lines: 86
Message-ID: <pan.2003.08.14.14.20.14.830166@l3jane.net>
NNTP-Posting-Host: 171.red-80-36-170.pooles.rima-tde.net (80.36.170.171)
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-15
Content-Transfer-Encoding: 8bit
X-Trace: news.uni-berlin.de 1060870816 408339 80.36.170.171 (16 [131244])
User-Agent: Pan/0.13.4 (She had eyes like strange sins.)