Lenguaje de programación Perl
¿Qué es Perl?
Perl es un lenguaje de programación, pero no es un lenguaje tal y como lo conocemos, sino que es un lenguaje de script.
PERL significa Practical Extracting and Reporting Language. Como vemos, se suele usar para sacar información de ficheros de texto y poder generar informes.
Perl mezcla un poco las características de varios lenguajes, como puede ser C, Bourne Shell y AWK. Como estos son lenguajes que siempre han actuado en entornos Unix, en un principio también Perl sólo funcionaba en este sistema operativo, pero en la actualidad está presente en otras plataformas.
El lenguaje lo creó Larry Wall en el año 1987, con la intención de hacer más simples algunas tareas repetitivas cuando administraba servidores.
- Es un eficiente, completo y fácil de usar.
- Se puede realizar una gran cantidad de aplicaciones con este lenguaje en campos como la administración de sistemas, aplicaciones web, entre otros.
- Perl esta disponible para gran cantidad de sistemas operativos, lo que lo hace un lenguaje accesible a cualquier usuario
- La principal desventaja de Perl se encuentra en el tiempo de ejecución de un programa, ya que un programa Perl es compilado cada vez que se ejecuta, por lo que puede resultar más lento que un programa similar escrito en otro lenguaje. Sin embargo, se han implementado técnicas para mejorar esta situación como guardar el compilado del programa en memoria y retrasar la compilación hasta que sea necesitada.
Common Gateway Interface (CGI)
Interfaz de entrada común (en inglés Common Gateway Interface, abreviado CGI) es una importante tecnología de la World Wide Web que permite a un cliente (navegador web) solicitar datos de un programa ejecutado en un servidor web. CGI especifica un estándar para transferir datos entre el cliente y el programa. Es un mecanismo de comunicación entre el servidor web y una aplicación externa cuyo resultado final de la ejecución son objetos MIME. Las aplicaciones que se ejecutan en el servidor reciben el nombre de CGIs.
Las aplicaciones CGI fueron una de las primeras prácticas de crear contenido dinámico para las páginas web. En una aplicación CGI, el servidor web pasa las solicitudes del cliente a un programa externo. Este programa puede estar escrito en cualquier lenguaje que soporte el servidor, aunque por razones de portabilidad se suelen usar lenguajes de script. La salida de dicho programa es enviada al cliente en lugar del archivo estático tradicional.
CGI ha hecho posible la implementación de funciones nuevas y variadas en las páginas web, de tal manera que esta interfaz rápidamente se volvió un estándar, siendo implementada en todo tipo de servidores web.
- En primera instancia, el servidor recibe una petición (el cliente ha activado un URL que contiene el CGI), y comprueba si se trata de una invocación de un CGI.
- Posteriormente, el servidor prepara el entorno para ejecutar la aplicación. Esta información procede mayoritariamente del cliente.
- Seguidamente, el servidor ejecuta la aplicación, capturando su salida estándar.
- A continuación, la aplicación realiza su función: como consecuencia de su actividad se va generando un objeto MIME que la aplicación escribe en su salida estándar.
- Finalmente, cuando la aplicación finaliza, el servidor envía la información producida, junto con información propia, al cliente, que se encontraba en estado de espera. Es responsabilidad de la aplicación anunciar el tipo de objeto MIME que se genera (campo CONTENT_TYPE)
Los CGI pueden ser programados en una gran variedad de lenguajes de programacion, pero debido a la sencilles en la codificacion, el lenguaje mas recomdable para programar este tipo de apliciones es Perl.
El metodo para poder hacer este tipo de programas en el Sistema opertavio Centos, que es el utilizado en este curso es: desde la linea de comandos ingresar la instrucccion "cd /var/www/cgi-bin/" y luego escribir la orden "vim ejemplo.cgi" como se ve en la siguiente imagen:
Un recurso muy practico, sencillo, pero a la vez fundamental para el aprendizaje de este lenguaje es "el evangelio de perl" del cual, se dejara el enlace a continuacion
Ir al evangelio de Perl