Índice de Contenido

 

 

INTRODUCCIÓN AL PERL

Perl (Practical Extraction and Report Languaje) es un lenguaje creado a principio de los noventa por Larry Wall, el cual lo realizó casi como una obra altruista, por eso, su distribución es gratuita.

Perl es un lenguaje pensado para la manipulación de cadenas de caracteres, archivos y procesos. Esta manipulación se va simplificada por el importante número de operadores a disposición del usuario. El lenguaje Perl se percibe habitualmente como un lenguaje intermedio entre los shell scripts y la programación en C. En efecto, los programas en Perl son una sucesión de instrucciones y son similares a los shell scripts porque no existe un procedimiento principal como la subrutina main en C. Sin embargo, se parece al lenguaje C en su sintaxis y en el número importante de funciones que permiten la manipulación de cadenas de caracteres y archivos.

El lenguaje Perl no es precompilado, pero aún así es más rápido que la mayoria de lenguajes interpretados, en especial que el Bourne Shell. Esto se debe a que los programas en Perl son analizados, interpretados y compilados por el interprete perl antes de su ejecución.

Estas características hacen que el mantenimiento y la depuración de un programa en Perl sean mucho más sencilla que el mismo programa escrito en C.

Por todo esto, Perl es un lenguaje muy utilizado en los dos campos siguientes:

1. La administración de sistemas operativos. Debido a sus características Perl es muy potente en la creación de pequeños programas que pueden ser usados como filtros para obtener información de ficheros, realizar búsquedas, etc. Además, aunque Perl nació en un entorno Unix, hay versiones para casi todas las plataformas existentes.

2. La creación de formularios en la Web. Es decir, se utilizan para la creación de scripts CGI (Common Gateway Interface). Estos scripts realizan el intercambio de información entre aplicaciones externas y servicios de información, es decir, se encargan de tratar y hacer llegar la información que el cliente WWW manda al servidor a través de un formulario.

 

INTERFAZ DE PASARELA COMÚN Y PERL

 

CGI es Common Gateway Interface (CGI, Interfaz de pasarela común) que es como la puerta de acceso que hay entre una página Web y el servidor de Internet donde la página reside. En adelante vamos a ver por qué Perl es importante en la programación CGI.

Sabemos que un explorador o navegador o browser realiza un importante trabajo en la presentación de una página web, dando formato a los textos, componiendo la página, visualizando los gráficos, los marcos, las tablas y además interpretando los clics del ratón.

Pero hay que tener en cuenta también el trabajo que se realiza en la parte del servidor, porque éste da respuesta en cada momento a las peticiones que realizan los propios browsers, por ejemplo, cuando piden una página nueva, hay que buscarla, prepararla y empaquetarla para su envío y finalmente enviarla a su destino.

Por otro lado, cuando un explorador desea algo más que otra página Web o un gráfico desde el servidor, la solicitud va al CGI para poder ser procesada. Por ejemplo, las solicitudes de búsqueda de texto, el procesamiento de datos, los informes de datos, y otros procesamientos de datos interactivos necesitan un manejo especial.

Los programas CGI realizan el procesamiento, la construcción de los archivos, y el acceso a las bases de datos para las solicitudes especiales.

HTML y Perl cruzan sus caminos a través del CGI. Las solicitudes de procesamiento fluyen desde los documentos HTML a través del CGI, donde los programas Perl reciben las solicitudes y manejan la información. La respuesta usual proporcionada por un programa CGI de Perl toma la forma de otra página HTML, que se construye frecuentemente sobre la marcha para cumplir las necesidades específicas del solicitante.

Los documentos HTML y los programas CGI para un sitio de la Web están localizados usualmente en el mismo servidor. Un ordenador puede tener un número de cuentas de sitios de la Web, cada una con su propio conjunto de directorios independientes en el servidor. Puesto que los programas CGI deben acceder algunas veces a los archivos del servidor y a otros recursos, es de la mayor prioridad para los administradores del sistema de la Web aplicar medidas de seguridad con reglas y procedimientos para la transferencia de los archivos y para la utilización de programas CGI.

UN LENGUAJE INTERPRETADO

Como sabemos Perl es un lenguaje interpretado, en consecuencia para ejecutar un script en Perl debemos indicarle al sistema en ese mismo instante el interprete que vamos a utilizar para ejecutar dicha script en Perl. Esto se puede realizar de dos formas:

1. Insertando en la primera línea del archivo la instrucción: #!/usr/local/bin/perl.
Esta sentencia indica al sistema operativo que lo que sigue es un script de Perl y que perl es el programa con el que debe ejecutarse. Dicho programa está en /usr/local/bin. Por tanto la secuencia !# es reconocida por Unix no por Perl.

2. Especificando el intérprete desde la línea de comando: perl script.pl.
Vemos como directamente se ejecuta el interprete de Perl pasando como primer paramétro el script a ejecutar. En el caso de haber más parámetros, éstos se tomarán como parámetros del programa.

Así sólo nos queda saber que para ejecutar un script, el fichero que lo contiene en este caso script.pl debe tener permiso de ejecución al menos sólo desde el punto de vista del usuario. Para saber los permisos que contiene un fichero en el sistema operativo Unix basta simplemente con teclear el siguiente comando: ls -l.
Si cuando tecleamos esto y vemos que no tiene permiso de ejecución, utilizaremos el siguiente comando para darle dicho permiso: chmod 700 script.pl.
De esta manera, sólo podremos leer, escribir y ejecutar el archivo nosotros como usuarios del mismo.

EL INTERPRETE DE PERL

Como ya hemos dicho en el capítulo anterior, una de las maneras de ejecutar un script de Perl era ejecutando dicho script como un parámetro de un interprete de Perl determinado. Pues bien, dicho intérprete posee ciertas opciones que nos proporcionan o bien información sobre el mismo, o bien ciertas facilidades a la hora de ejecutar los script como se podrá ver a continuación.

PRIMER PROGRAMA EN PERL

Un script en Perl es una sucesión de instrucciones. Éstas se delimitan por punto y coma (;). Los comentarios en los scripts deben ir precedidos por el símbolo #. Los caracteres que siguen a este símbolo y que está contenidos en la misma línea se consideran comentarios y se ignoran.

El siguiente script muestra la cadena de caracteres "¡Hola, mundo!". Este script se llamará hola.pl y contendrá las siguientes líneas.

#!/usr/local/bin/perl
print "¡Hola, mundo!";

Una vez que hayamos verificado los permisos de dicho script estaremos listos para ejecutarlo simplemente tecleando en la línea de comandos: hola.pl.

Por último hacer notar que lo de la extensión .pl es simplemente una formalidad y que nos es absolutamente necesario que el fichero que contenga nuestro script lleve dicha notación.

Un script en Perl es una sucesión de instrucciones. Éstas se delimitan por punto y coma (;). Los comentarios en los scripts deben ir precedidos por el símbolo #. Los caracteres que siguen a este símbolo y que está contenidos en la misma línea se consideran comentarios y se ignoran.

El siguiente script muestra la cadena de caracteres "¡Hola, mundo!". Este script se llamará hola.pl y contendrá las siguientes líneas.

#!/usr/local/bin/perl
print "¡Hola, mundo!";

Una vez que hayamos verificado los permisos de dicho script estaremos listos para ejecutarlo simplemente tecleando en la línea de comandos: hola.pl.

Por último hacer notar que lo de la extensión .pl es simplemente una formalidad y que nos es absolutamente necesario que el fichero que contenga nuestro script lleve dicha notación.

INTERFAZ CON UNIX

Al igual que en c-shell o C dentro de un programa en C se puede ejecutar un comando UNIX, o un programa propio en cualquier lenguaje, esto se hace con system(), y de otra forma con '`'.

Ej: #!/usr/local/bin/perl
        print "En el archivo listado dejaremos la lista de archivos\n";
    system("ls -l > listado");
Ej: #!/usr/local/bin/perl
    $num=`wc -c listado`; # en la var. $num deja el numero de caracteres que
                                                     tiene el archivo listado

Nota: Es importante decir que dentro de '`' y system son expandidos los valores de las variables.

Ej:$a="direct1";
   @a=`ls -l -a $a`;

Aqui introducimos un nuevo concepto, resulta que despues de la ejecucion de estas lineas en el arreglo @a quedan guardadas las lineas de salida del comando ls -l -a direct1 .

Existe otra forma de ejecutar comandos Unix, es con el open, el cual tambien tiene las funcionalidades del popen de C, es decir podemos abrir para escribir o leer, un comando:

Ej:
open(FD,"ls |");
@archivos=;
close(FD);
# lo que hizo fue guardar todo lo que retorno el ls
# en el arreglo @archivos, un nombre de archivo en
# cada casilla del arreglo

Tambien podemos escribir en un comando:

Ej:
open(FE,"| sed 's/[,;:.]//g' > salida");
for($x=1;$x<=5;$x++)
  {
  print FE $lin[$x];
  }
close(FE>
# a 5 strings les aplicamos un sed, el cual les elimina
# la puntuacion; el resultado lo deja en el archivo salida
 

CONCLUSIÓN

 

    Perl es un lenguaje interpretado que tiene varias utilidades, pero está principalmente orientado a la búsqueda, extracción y formateado de ficheros de tipo texto. También es muy usado para manejo y gestión de procesos ( estado de procesos , conteo y extracción de parámetros característicos, etc...). 

    Es una combinación de las características de los lenguajes más usados por los programadores de sistemas, como son los shell del sistema operativo UNIX, los utilidad ( que incluye un lenguaje interpretado propio) awk para formateo y tratamiento de texto e incluso características de Pascal, aunque su potencia se basa en la similitud con las mejores características del lenguaje estructurado C. En general cualquier utilidad que se necesite realizar en sh, awk, o sed, se puede implementar de una manera mas potente y sencilla mediante el lenguaje PERL. 

Algunas de las ventajas del uso del lenguaje PERL son las siguientes: 
 
 

 

INFOGRAFÍA

Introducción al PERL.

http://www.cicei.com/gsi/tutorial_perl/cap1.htm. : Presenta una introdución al PERL, así como una breve descripción de los caracteres, archivos y procesos. Perl se percibe habitualmente como un lenguaje intermedio entre los shell scripts y la programación en C. En efecto, los programas en Perl son una sucesión de instrucciones y son similares a los shell scripts porque no existe un procedimiento principal como la subrutina main en C. [Local]

 

Tutorial del Perl y Formularios con Ejemplos y Ejercicios Practicos.

http://usuarios.lycos.es/asualam/perl/tutor.htm :  Se podrá encontrar introducción perl, Parametros de perl, modelos de búsqueda, Variables, matrices, operadores, entdradas y salidas, formularios, páginas dinamicas y funciones matemáticas entre otras. [Local]

F.A.Q.

http://cronopio.net/perl/faqs/perlwin32faq.html :

Estas preguntas más frecuentes originalmente fueron ensambladas por Evangelo Prodromou -evangelo@endcontsw.com. Actualmente son revisadas y actualizadas por Brian Jepson (O'Reilly and Associates), en unión de David Grove y David Dmytryshyn de ActiveState. (Junio 1998)

Estas FAQ se actualizarán de tiempo en tiempo. Este pendiente visitando http://www.activestate.com/support/faqs/win32 para obtener las últimas versiones de estas y otras Preguntas más Frecuentes (FAQ).
(nota del traductor: se refieren a versiones en el idioma inglés). [local]

Download. Perl 5.0  Un lenguaje Multiuso. Acrobat Reader.(PDF)

http://www.iespana.es/perl-es/  :Historia, Instalación, elementos que se deben de tener en cuenta.

Trucos de programación en Perl.

http://www.linuxlots.com/~barreiro/spanish/perl/perl_como.html : En este documento se explican algunos trucos de programación usando Perl y sus librerías. [local]

[Principal] [Síntesis] [Portada] [Inicio]