martes, 21 de junio de 2016

Lenguajes de Programacion: Perl

Perl (Practical Extraction and Report Language) es un lenguaje de programación

desarrollado a finales de los años 80 por Larry Wall a partir otras herramientas de UNIX

como son: ed,grep,awk,c-shell, para la administración 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 orientación a objetos (no

completamente soportado de forma directa), que permite el desarrollo rápido de

aplicaciones y herramientas especialmente orientadas al tratamiento de textos y archivos,

aunque actualmente también se utiliza incluso para entornos graficos, en combinación con

sistemas como Perl/TK o GTK.

Larry Wall comenzó a trabajar en Perl en 1987 mientras trabajaba como programador en

Unisys y anunció la versión 1.0 en el grupo de noticias comp.sources.misc el 18 de

diciembre de 1987.

Características


Perl toma características del lenguaje C, del lenguaje interpretado bourne shell (sh), AWK,

sed, Lisp y, en un grado inferior, de muchos otros lenguajes de programación.

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 filosofía de programación 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 intérprete, esta en un punto intermedio, cuando mandamos a

ejecutar un programa en Perl, se compila el código fuente a un código 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 programación basado en scripts a casi cualquier plataforma. Es muy utilizado

para escribir CGIs.

Lenguaje optimizado para el escaneo de texto arbitrario de ficheros. Es también un buen

lenguaje para tareas de administración de sistemas. Es un lenguaje con intención de ser

práctico en lugar de bonito. Satisface las tres virtudes del programador: flojera, impaciencia

y petulancia.

Básicamente, es un lenguaje que se ha intentado que sea lo más 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 también 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.

Además de variables que podemos encontrar en otros lenguajes como @ARGV (indica los

parámetros con los que se ha llamado al programa) o %ENV (indica las variables de

entorno de la aplicación), podemos utilizar también 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

inequívocamente 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 paréntesis. Strings y expresiones regulares tienen

diferentes delimitadores estándar. Esta aproximación puede contrastarse con lenguajes

como Lisp, donde la misma construcción S-expresión y sintaxis básica se usa para muchos

y variados propósitos.

Perl tiene características que soportan una variedad de paradigmas de programación, como

la imperativa, funcional y la orientada a objetos. Al mismo tiempo, Perl no obliga a seguir

ningún paradigma en particular, ni obliga al programador a elegir alguna de ellas.
 

Estructura del lenguaje


Programa ejemplo Perl, el programa canónico "Hola EcuRed" es:

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

La primera línea contiene el shebang (par de caracteres que identifica el texto que sigue),

que le indica al sistema operativo dónde encontrar el intérprete de Perl. La segunda

imprime el string¡Hola EcuRed! y un carácter de nueva línea.

El shebang es la forma normal para invocar al intérprete en los sistemas Unix. Los sistemas

Windows pueden seguir utilizándolo o pueden asociar la extensión de archivo .pl con el

intérprete Perl. Algunos editores de texto también usan la línea 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 línea que empieza por el shebang es parseada para interpretar las

opciones. En otro caso, es ignorada.

Información obtenida de http://www.ecured.cu/Perl



Perl en el programa Notepad++


Tutorial introductorio al Perl en el programa Notepad++  




No hay comentarios.:

Publicar un comentario