You are on page 1of 4

Perl (Practical Extraction and Report Language) es un lenguaje de programacin

desarrollado a finales de los aos 80 por Larry Wall a partir otras herramientas
de UNIX como son: ed,grep,awk,c-shell, para la administracin de tareas propias de
sistemas UNIX.
Es un lenguaje de script de tipo BCPL (como TCL o PHP), muy semejante al AWK (de
hecho est basado en l), de tipo estructurado con trazas de orientacin a objetos (no
completamente soportado de forma directa), que permite el desarrollo rpido de
aplicaciones y herramientas especialmente orientadas al tratamiento de textos y archivos,
aunque actualmente tambin se utiliza incluso para entornos graficos, en combinacin con
sistemas como Perl/TK o GTK.

Contenido
[ocultar]

1 Historia

2 Caractersticas

o 2.1 GNU/Linux

o 2.2 Windows

3 Estructura del lenguaje

4 Fuente

Historia
Larry Wall comenz a trabajar en Perl en 1987 mientras trabajaba como programador en
Unisys y anunci la versin 1.0 en el grupo de noticias comp.sources.misc el 18 de
diciembre de 1987. El lenguaje se expandi rpidamente en los siguientes aos. Perl 2,
publicado en 1988, aport un mejor motor de expresiones regulares. Perl 3, publicado en
1989, aadi soporte para datos binarios.
Hasta 1991 la nica documentacin de Perl era una simple (y cada vez ms larga) pgina de
manual Unix. En 1991 se public Programming Perl (el libro del camello) y se convirti en
la referencia de facto del lenguaje. Al mismo tiempo, el nmero de versin de Perl salt a 4,
no por marcar un gran cambio en el lenguaje, sino por identificar a la versin que estaba
documentada en el libro. Perl 4 trajo consigo una serie de lanzamientos de mantenimiento,
culminando en Perl 4.036 en 1993. En este punto, Larry Wall abandon Perl 4 para
comenzar a trabajar en Perl 5. Perl 4 se quedara en esa versin hasta hoy.
Perl 5 fue publicado el 17 de octubre de 1994. Fue casi una completa reescritura del
intrprete y aadi muchas nuevas caractersticas al lenguaje, incluyendo objetos,
referencias, paquetes y mdulos. A destacar, los mdulos proveen de un mecanismo para
extender el lenguaje sin modificar el intrprete. Esto permiti estabilizar su ncleo
principal, adems de permitir a los programadores de Perl aadirle nuevas caractersticas.
El 26 de octubre de 1995, se cre el Comprehensive Perl Archive Network (CPAN). CPAN
es una coleccin de sitios web que almacenan y distribuyen fuentes en Perl, binarios,
documentacin, scripts y mdulos. Originalmente, cada sitio CPAN deba ser accedido a
travs de su propio URL; hoy en da, redirecciona automticamente a uno de los cientos de
repositorios espejo de CPAN.
En junio de 2006, win32.perl.org fue lanzado por Adam Kennedy en nombre de la
Fundacin Perl. Es una comunidad web "para todo lo relacionado con Windows y Perl".
En 2008, Perl 5 continua siendo mantenido. Caractersticas importantes y algunas
construcciones esenciales han sido aadidas, incluyendo soporte Unicode, Hilos (threads),
un soporte importante para la programacin orientada a objetos y otras mejoras.

Caractersticas
Perl toma caractersticas del lenguaje C, del lenguaje interpretado bourne shell (sh), AWK,
sed, Lisp y, en un grado inferior, de muchos otros lenguajes de programacin.
Estructuralmente, Perl est basado en un estilo de bloques como los del C o AWK, y fue
ampliamente adoptado por su destreza en el procesado de texto y no tener ninguna de las
limitaciones de los otros lenguajes de script.

No establece ninguna filosofa de programacin concreta. No se puede decir que sea


orientado a objetos, modular o estructurado aunque soporta directamente todos estos
paradigmas y su punto fuerte son las labores de procesamiento de textos y archivos.

No es ni un compilador ni un intrprete, esta en un punto intermedio, cuando


mandamos a ejecutar un programa en Perl, se compila el cdigo fuente a un cdigo
intermedio en memoria que se optimiza como si se fuera a elaborar un programa
ejecutable pero es ejecutado por un motor, como si se tratase de un interprete.

Lenguaje de programacin basado en scripts a casi cualquier plataforma. Es muy


utilizado para escribir CGIs.

Lenguaje optimizado para el escaneo de texto arbitrario de ficheros. Es tambin un


buen lenguaje para tareas de administracin de sistemas. Es un lenguaje con intencin
de ser prctico en lugar de bonito. Satisface las tres virtudes del programador: flojera,
impaciencia y petulancia.

Bsicamente, es un lenguaje que se ha intentado que sea lo ms natural posible, lo


que conlleva que en ocasiones nos encontremos estructuras poco habituales en un
lenguaje de este tipo:
print "hola EcuRed" if $saludo == 1;

Destaca tambin el uso de variables especiales, muy habituales en los lenguajes de tipo
script en los sistemas de tipo Unix. Estas variables permiten realizar una serie de
operaciones sobre los datos y los archivos que aportan a PERL una flexibilidad y potencia
enormes.
Adems de variables que podemos encontrar en otros lenguajes como @ARGV (indica los
parmetros con los que se ha llamado al programa) o %ENV (indica las variables de
entorno de la aplicacin), podemos utilizar tambin variables como $_ (que representa el
ltimo dato que lleg por la entrada estandar), o $/, que nos indica si PERL debe enviar el
texto a la salida estandar inmediatamente (o al flujo de salida que le hayamos indicado
previamente).
PERL tiene implementadas las expresiones regulares, (regular expressions), lo que le da
una potencia muy grande en el procesamiento de textos.
Todas las variables son marcadas con un sigilo precedente (sigil). Los sigilos identifican
inequvocamente los nombres de las variables, permitiendo a Perl tener una rica sintaxis.
Notablemente, los sigilos permiten interpolar variables directamente dentro de las cadenas
de caracteres (strings). Como en los shell, Perl tiene muchas funciones integradas para
tareas comunes y para acceder a los recursos del sistema.
La sintaxis de Perl refleja la idea de que "cosas que son diferentes deben parecer
diferentes". Por ejemplo, escalares, arrays y hashes tienen diferente sigilo. ndices de array
y claves hash usan diferentes clases de parntesis. Strings y expresiones regulares tienen
diferentes delimitadores estndar. Esta aproximacin puede contrastarse con lenguajes
como Lisp, donde la misma construccin S-expresin y sintaxis bsica se usa para muchos
y variados propsitos.
Perl tiene caractersticas que soportan una variedad de paradigmas de programacin, como
la imperativa, funcional y la orientada a objetos. Al mismo tiempo, Perl no obliga a seguir
ningn paradigma en particular, ni obliga al programador a elegir alguna de ellas.

GNU/Linux
Perl est instalado por defecto en las distribuciones ms populares
de GNU/Linux incluyendo Gentoo, Slackware, Mandriva, Debian, RedHat y SUSE.

Windows
Los usuarios de Microsoft Windows normalmente instalan una distribucin binaria de Perl.
Compilar Perl desde el cdigo fuente bajo Windows es posible, pero la mayora de las
instalaciones no disponen del necesario compilador de C.
La capa de emulacin Cygwin proporciona otra forma de correr Perl bajo Windows.
Cygwin proporciona en entorno parecido al Unix en Windows que incluye gcc, por lo que
compilar Perl desde el cdigo es una opcin accesible para los usuarios que prefieren esta
opcin.

Estructura del lenguaje


Programa ejemplo Perl, el programa cannico "Hola EcuRed" es:

#!/usr/bin/perl
print "Hola EcuRed!\n";

La primera lnea contiene el shebang (par de caracteres que identifica el texto que sigue),
que le indica al sistema operativo dnde encontrar el intrprete de Perl. La segunda
imprime el stringHola EcuRed! y un carcter de nueva lnea.
El shebang es la forma normal para invocar al intrprete en los sistemas Unix. Los
sistemas Windows pueden seguir utilizndolo o pueden asociar la extensin de archivo .pl
con el intrprete Perl. Algunos editores de texto tambin usan la lnea shebang como una
pista sobre el modo de trabajo en que deben operar. Si el programa es ejecutado por perl y
no invocado por el shell, la lnea que empieza por el shebang es parseada para interpretar
las opciones. En otro caso, es ignorada. Para ver los detalles de esto, consultar la pgina de
manual perlrun.

Fuente
[1]

[2]

Tutoriales Programacin: Perl [3],

Categoras:
Informtica
Lenguajes de programacin

You might also like