Ultima modificación

01/08/99

 

 

Indice

Comentarios    
Empezando    
Perl y html    

 

 

 

Comentarios  

Empiezo esta sección dedicada al Perl , espero que os sea útil

He de destacar que en Perl llevo poco tiempo programando, apenas nada, y solo "de vez en cuando" , asi que no pretendo que sea una página para programadores avanzados, sino una página para "empezar" y para intentar recomendar cosas a medida que las voy aprendiendo yo, comentando problemas que he ido teniendo y las soluciones que saqué, no serán las mejores, pero por lo menos funcionan :) - o eso creo, jeje-

 

 

Empezando  

¿Que es el Perl? (1-agosto-99)

Bueno, primero unas nociones básicas:

- El perl es un lenguaje interpretado , es decir, nosotros creamos un fichero con ordenes (un fichero de texto plano) que normalmente no se compila , sino que un programa especial (interprete de perl) lo ejecuta orden a orden, esto tiene ventajas e inconvenientes:

-Inconvenientes: En general es un poco mas lento que los programas compilados, se nota sobretodo al ejecutar un script de perl pequeño, porque se debe ejecutar todo el interprete de perl para poner solo un "hola" por pantalla

-Ventajas: Es "casi" independiente de la plataforma, ¿que quiere decir esto?, bueno quiere decir que podemos hacer un script desde windows 98 y que el programa funcione bien en Unix o windows NT (con algunas diferencias, ver la seccion de "porque fallan los scripts") , esto conviene sobretodo a la hora de programar para internet, podemos desarrollar nuestro script sobre nuestro windows, y luego publicarlo en internet y que funcione desde el servidor de nuestra página web (que suele ser unix o NT)

¿Que necesitamos para hacer scripts en perl?

En primer lugar un interprete de Perl que funcione en el sistema operativo que estemos usando,

Si queremos publicar nuestro script de forma que funcione en nuestra página web (CGI) , el servidor deberá tener las siguientes caracteristicas:

-El perl instalado: Normalmente lo tienen ya preinstalado todos los servidores de host

-Acceso al directorio cgi-bin, Esto es importante, nuestro script no puede estar en cualquier directorio de la página web, debe estar en un directorio con permisos de ejecución , y normalmente el directorio cgi-bin es el unico directorio que los tiene, si nuestro hosting de internet es de esos gratuitos, normalmente no dejará acceso a este directorio, deberá ser un servidor "de pago" (o de los que dan con las cuentas de internet)

- Deberemos tener en cuenta el sistema operativo del servidor, ¿como lo sabemos?, o bien preguntando :) , o bien entramos al servidor con un programa de FTP o con TELNET , las primeras lineas que devuelve el servidor suelen informar del sistema operativo

- Tambien es importante saber si el servidor "genera" cabezeras de HTM automaticamente o no , aunque probando tambien se puede saber

¿Como lo consigo?

Existen varias versiones de interpretes de Perl, busca por internet y las veras , suelen ser gratuitas , si tengo tiempo incluire algun link a sitios para conseguirlo

¿Porqué fallan los scripts?

Un problema de Perl es precisamente su "portabilidad"; no por ser portable significa que cualquier cosa que hagamos en perl podremos publicarla sin cambios, hay que tener en cuenta algunos detalles a la hora de programar

En esta seccion incluyo algunos problemas que me he encontrado al subir scripts a internet, si tu script funciona perfectamente en tu ordenador , pero al subirlo a tu web falla, lee esta sección:

1) Códigos de retorno de carro de Unix:

Sintomas: Has subido tu script a un host Unix y no funciona en absoluto:
Solución: El unix no usa los mismos saltos de linea que el MS-DOS , deberás hacerte un pequeño programa que te elimine los saltos de linea ms-dos y te los convierta a saltos de linea unix

2) Cabecera de CGI

Sintomas: El servidor contesta con un "error de cgi, el script no ha devuelto los encabezados correctos" , o algo similar en ingles :
Solución: Para que tu programa actue como CGI debe retornar en primer lugar unas "cabezeras" estandar, dependiendo de si el host genera automaticamente la cabecera o no, podrian ser una de estas

Opción 1: (con servidor que genera cabeceras)
print "Content-type: text/html\n\n";
print "<html><head><title>Ifedes</title></head>\n";
Opción 2: (con servidor que nogenera cabeceras)
print "HTTP/1.0 200 OK\n";
print "Content-type: text/html\n\n";
print "<html><head><title>Ifedes</title></head>\n";

3) Directorio del interprete perl

Sintomas: El servidor dice que no encuentra el Perl :(
Solución: En servidores de internet, la primera linea de tu programa deberia ser esta (salvo en sistemas NT creo):

#!/usr/bin/perl

Indicando al servidor donde se encuentra el interprete de perl (que suele estar ahi :)

4) Permisos de escritura

Sintomas: Tu script deberia escribir o crear un fichero y no lo hace
Solución: En los servidores de internet, los archivos tienen distintos tipos de permiso , de ejecución (todos los scripts deben tener permiso de ejecucion) , e lectura o de escritura, comprueba que tu archivo o el directorio de datos tenga dado el permiso de escritura (se puede hacer con algunos programas de FTP , viendo los atributos)

 

 

 

 

Perl y html (CGI)  

Como conseguir que un script de Perl "genere" una página web para verla

(En obras.... a ver si la termino pronto :)