Perl
Perl (Practical Extraction and Report Language) es un lenguaje de programación desarrollado por Larry Wall (lwall at netlabs.com) a partir otras herramientas de UNIX como son: ed,grep,awk,c-shell, para la administración de tareas propias de sistemas UNIX.
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 portable 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.
Según el manual, Perl también significa Pathologically Eclectic Rubbish Lister.
Resumen técnico de PERL.
PERL 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 combinacion con sistemas como Perl/TK o GTK.
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" 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.