HTMLpointHTMLpoint HTMLpoint.com


 Los primeros script: teoría



Si ya habéis leido el tutorial gratuito en Perl publicado en estas páginas, la mayoría de las nociones que encontraráis aquí no os resultarán nueva y tardaréis menos en entender su funcionamiento. Por supesto, algo os resultará nuevo, pero se explicarán puntualmente poniendo ejemplos, si es posible y necesario.

Vamos a ver los verdaderos script.

Lo primer que hay que saber es que los script, normalmente, generan páginas web. Por lo tanto habrá que introducir unas instrucciones para que sea lo que realmente ocurre. La primera es:

print "Content-type:text/html\n\n";
Es una instruccion que indica al browser el tipo de datos que recibirá. En este caso, el navegador sabe que se trata de un documento html y lo formatea. Si hubieramos introducido la instrucción:
print "Content-type:text/plain\n\n";
el CGI hubiera enviado a nuestro ordenador un documento "plain text". Además, si queremos enviar muestras sonoras o imágenes, tenemos que indicar el content-type apropriado. Por ejemplo, se podría indicar "image/gif" o "image/jpeg" o incluso "video/mpeg".

Si se nos olvida añadir esta línea o escribimos algo antes,  recibiremos un mensaje de error (normalmente "Internal Server Error"). En suma, no hay que olvidarse del Content-type. Un consejo puede ser introducirlo justo bajo la línea #!/usr/bin/perl : de forma que, introducidas estas dos primas líneas, no haya que pensarlo más.
Ahora podemos intentar escribir nuestro primer script en perl, que llamaremos hello.pl. El script lo habéis visto quizás muchas veces:

#!/usr/bin/perl
print "¡Hola a todo el mundo!\n";
Bueno, hemos hecho el script (fácil, ¿verdad?). Ahora basta con gurdarlo y transformarlo para que se pueda poner en marcha. Cuando enviemos el script, se visualizará la línea "Hola a todo el mundo". Sin embargo, lo que queremos llevar a cabo es enviar el output de este script a un navegador que cree una página web basándose en los datos recibidos.
Lo primero que hay que hacer es volver a nombrar script.pl como script.cgi para que el servidor lo interprete (no es estrictamente necesario, pero vosotros hacedlo). Después hay que añadir los tags que se visualizarán en nuestra nueva página. Por lo tanto el script tendrá que cambiarse a:
1)  #!/usr/bin/perl
2)  print "Content-type:text/html\n\n";
3)  print "<html><head><title>Primera página de prueba</title></head>\n";
4)  print"<body>\n";
5) print "<h2>Holaatodoelmundo</h2>\n";
6) print"</body></html>\n";
Ahora el script está listo. A lo mejor os asombra lo largo que es el CGI comparado con el script inicial. Sin embargo, es normal porque con este script se visualiza una página en formato HTML, y lo que hemos añadido son solo los tag principales para llevar a cabo esta página. Podéis imaginar que habéis fundido el código de una página HTML con un script.
Vamos a ver más de cerca este simple script, en el que se han introducido los números de líneas sólo para que resulte más cómodo ... Vosotros no tenéis que hacerlo para nada, si no queréis que salga un número infintito de mensajes de error.

La primera es para preparar la página. Indica donde está el interprete Perl que pondrá en marcha el script. Como ya hemos dicho anteriormente, el intérprete tiene que estar en el servidor porque es este el que pone en marcha el script y le envía sólo el resultado. Lo repetimos porque es muy útil: /usr/bin/perl es una locación bastante estándar, sin embargo en vuestro sistema el intérprete podría no estar allí. Para éste y para todos los demás script que encontraremos, tendréis siempre que indicar la localización del interprete en vuestro sistema.
La segunda es header MIME, de la que ya hemos hablado e indica el tipo de página que hay que crear. En este caso se trata de una página html. Sin embargo, hay que notar algo muy importante.  Encima de 'html' hay dos apartes ( \n\n );  que sirven para separar el header de la página real:  Siempre tiene que haber una línea vacía entre uno y otro, sino el servidor os dirá que vuestro escript tiene un "bad header".
La tercera es importantísima. Prácticamente permite que la página que se ha creado tenga algunos tags fundamentales del lenguaje html: <html>, <head> e<title>; Hay que notar también que, entre los tags <title> y </title> se introduce el título de la página, como esperábamos.
La cuarta línea introduce el tag <body>, es decir el corpus de la página en la que, como vemos en la línea 5, se introduce la frase "Hola a todo el mundo" formateada con el tag<h2>.
La sexta línea cierra la página. Establece el final del tag <body> y <html>, es decir </body> e</html>.

Queremos llamar vuestra atención en que en el script que vimos precedentemente hay cuatro instrucciones: print() para crear la página. En un caso como éste (es decir, delante de un script tan simple) hubiéramos podido incluso utilizar sólo una línea de print():

print "<html><head><title>Primera página deprueba</title></head><body><h2>Holaatodoelmundo</h2></body></html>\n";
La desventaja es mínima, pero existe. La fuente de la página será más difícil de leer sobre todo si se redactan páginas más complejas. Todo el código HTML está en una sola línea y es muy difícil introducir más órdenes que el interprete tendrá que poner en marcha. Por ejemplo, la función split() que analizaremos más adelante.
En suma, el script, como ha sido presentado, está escrito de forma bastante estándar (aunque haya quien escriba'print"</body>\n</html>"' o de otras formas) y cómoda para las sucesivas operaciones que haremos con este mismo código. Hay que intentar que los vuestros sigan, a grandes rasgos, este esquema.


  Volver al inicio de la página