HTMLpointHTMLpoint HTMLpoint.com


 Cambiemos de lenguaje



Hasta ahora hemos utilizado siempre y sólo el Perl para crear nuestros script, sin embargo, como ya hemos dicho anteriormente, los lenguajes que se utilizan son muchos. Obviamente el servidor tiene que soportar el lenguaje que elegimos paraque el CGI quede interpretado y se ponga en marcha correctamente. Por lo que se refiere al Perl podemos estar seguros porque prácticamente todos los servidores lo tienen. Sin embargo, si escribimos un script en Applescript, no podemos esperar que trabaje en un servidor cualquiera, antes tenemos que informarnos.

Sin embargo, como la mayoría de los servidores trabaja con sistemas o dialectos Unix, vamos a ver un lenguaje simple y bastante completo para redactar los CGI: los script de bash.

Para empezar ¿qué es una bash? La bash (Bourne again shell) es un intérprete de lenguajes de instrucciones compatible con la shell 'sh', que lleva a cabo las instrucciones del estándar input o de un archivo. A grandes rasgos, esta shell es la más utilizada en el mundo unix, tanto por su potencia como por su versatilidad. Y son precisamente éstos los aspectos que vamos a utilizar.
De todas formas, recordad que la shell scipting no es el lenguaje ideal para crear los CGI: aquí lo presentamos para tener un cuadro completo.

Vamos a poner en seguida un ejemplo:

#!/bin/sh

eco "Content-type: text/html"
eco

eco "<html><head><title>Página de pruebaig redactada con un scriptdebash</title></head>"

eco "<body><H2>Hola atodoelmundo<H2></body></html>"

Está claro que este script no hace otra cosa que crear una página con su título y la frase "Hola a todo el mundo" en el corpus.
Analicemos con más detalles el script:
  • la primera línea "busca" el intérprete. Una línea parecida estaba en todos los script de Perl.

  • la segunda se introduce con una instrucción, "eco" que, en cierto sentido, es parecido al "print" del perl. Realmente se lee en la página manual de la bash lo siguiente:" (eco) da los args que están separados por espacios.". ¿Qué quiere decir? Simplemente que cualquier cosa que se escriba después de la instrucción eco saldrá (normalmente) en la pantalla. Después de la instrucción eco está el content-type de la página que queremos redactar. Nada nuevo.

  • La tercera crea una línea vacía para separar el content-type del contenido real. Si esto no ocurre, el servidor saldría con un mensaje de error quejándose de un "bad header". Por lo tanto no os olvidéis introducirla.

  • La cuarta abre los tags <html><head> e<title>, introduce el título y cierra los últimos dos tags.

  • La quinta abre los tags <body> e<h2>, introduce el corpus y cierra todos los tags que han quedado abiertos.
No es difícil escribir los script con el lenguaje de la shell que, sin embargo, no puede ofrecer, por sí sola, una funcionalidad total, tal como la ofrece perl.
Si os gusta el tema del shell scripting, no sólo con los CGI, podéis leer con mucha atención la documentación de vuestras shell y podéis estar seguros de que tendréis otro importantísimo instrumento.


  Volver al inicio de la página