Saltar al contenido

Perl

¿Qué es Perl? Perl es un lenguaje de programación, pero no es un lenguaje tal y como lo conocemos, sino 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 CBourne 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. Han pasado varios años y el lenguaje ha ido evolucionando con varias versiones, siendo Perl 5 la utilizada actualmente.

Índice del contenido

Características del lenguaje Perl

lenguaje perl logo

El lenguaje Perl tiene licencia GPL, por lo tanto es gratuito y se puede descargar sin coste alguno. Como hemos dicho, puede funcionar en varios sistemas operativos, así que puedes decidir.

Perl se utiliza sobretodo para crear aplicaciones CGI para entornos web. Si en nuestro servidor vemos una carpeta llamada cgi-bin, es que allí se encuentra el intérprete Perl, y podemos llamarlo para ejecutar nuestro código.

Aunque fue muy popular en entornos web, todavía se usa para crear scripts de servidores. Ese es el motivo que sea uno de los lenguajes más usados del mundo.

Es un lenguaje interpretado, como la mayoría de lenguajes de programación web , como PHP o JavaScript. Eso significa que el código fuente no se compila, para transformarlo a lenguaje máquina, sino que se va leyendo el código y se interpreta en cada línea de ejecución.

Junto al intérprete tenemos un gran conjunto de librerías y módulos. También tiene una interficie para poder conectar con un amplio abanico de motores de bases de datos, ya que puedes consultar mediante SQL y procesar los registros devueltos gracias al módulo DBI, haciendo que el código mismo código sea reutilizable en cualquier tipo de gestor de base de datos..

Una característica de Perl es la posibilidad de ejecutar código o subrutinas en otros lenguajes de programación.

Otra característica curiosa es que sólo tiene tres tipos de datos: los escalares, las listas y los hashes.

Un tipo de datos escalar es un sólo valor, un entero, una cadena o una referencia. En este caso, es como los tipos de datos primitivos en otros lenguajes.

Un tipo de datos lista es una colección de escalares. Lo que comúnmente se llama array.

Un tipo de datos hash es una estructura de datos que asocia claves con valores. En Perl las claves serán un texto y los valores serán de tipo escalar.

Ejemplo de tipos de datos en Perl

En Perl no declaramos el tipo de datos como lo solemos hacer en otros lenguajes, sino que le ponemos un prefijo al nombre de la variable. Los prefijos son $, @ y %.

Por ejemplo, en una variable de tipo escalar sería:

$numero = 25;
$texto = "Hola mundo";

Una lista se haría entre paréntesis, separando sus valores por coma:

@listado = (10, 20, 30, 40);

Un hash se haría de la siguiente manera:

%tabla = (primero => 10 , segundo => 20);

También puedes escribirlo en varias líneas:

%tabla = (
    primero => 10 ,
    segundo => 20
);

Estructuras de control

Perl maneja las estructuras de control básicas de cualquier lenguaje de programación, como pueden ser los condicionales y los bucles.

Para los condicionales permite sentencias if(), if(){}else(){}, y también if(){}elseif(){}else(){}.

Para bucles, tenemos while(), for(), do() y foreach().

Un ejemplo sería el siguiente:

for ($i=0; $i < 10; $i++)
{
    if ($i != 5)
    {
        $listado[$i] = "Valor de $i";
    }
}

También es posible crear funciones o subrutinas que nos ayuda a separar y estructurar el código. Para ello usamos la palabra reservada sub.

Programación orientada a objetos en Perl

Perl permite POO, es decir, programación orientada a objetos.

Cada módulo de Perl lo podemos usar como una clase, y a partir de ahí lo programamos como una clase en C++ o Java.

Hay métodos especiales para hacer constructores y destructores, además de permitir herencia entre clases.

Ventajas y desventajas de Perl

Una vez hemos visto sus características, podemos nombrar una serie de ventajas a la hora de elegir Perl como lenguaje de programación:

VENTAJAS

  • Es un lenguaje de alto nivel, así que su curva de aprendizaje es suave.
  • Es eficiente a la hora de tratar un gran volumen de datos. Un ejemplo es que se usa en el mercado de finanzas y bioinformática.
  • Es de propósito general: puede usarse en desarrollo web, pero también en otros entornos como la administración de sistemas.
  • Es multiplataforma, además, viene con la propia instalación de cualquier sistema operativo Linux/Unix.
  • Es una buena alternativa a C, ya que no tienes que trabajar con punteros.

DESVENTAJAS

  • Aunque es un lenguaje interpretado, un programa hecho en Perl se compila al principio de su ejecución, por lo que puede ser lento comparado con otros lenguajes similares (esto se soluciona si después trabajas con muchos datos).
  • Su código no es muy legible, comparado con otros lenguajes como Python (que también puede usarse para ejecutar scripts en servidores).
  • No tiene control de excepciones, y los posibles errores suelen tener una dificultad media encontrarlos.

El logo de Perl

Como anécdota, comentar que el logo de Perl es una cebolla, pero suele relacionarse con un dromedario. ¿Cual es el motivo?

logo camello lenguaje programacion perl

Porque el primer libro de Perl, llamado Programming Perl de la editorial O’Reilly, eligió ese animal en la portada.

Si echas un vistazo a cualquier libro de programación de esta editorial, verás que cada lenguaje de programación lo relaciona con un animal.

Para evitar problemas de copyright, la fundación Perl decidió usar la cebolla como logotipo para el lenguaje.

Curso de programación de Perl

Existe multitud de tutoriales de Perl por internet, ya que es un lenguaje que ya tiene 30 años.

Si tienes alguna duda en concreto, te recomiendo este foro de Perl en español.

Ajustes