Prólogo

Perl (Practical Extraction and Report Language) es un lenguaje interpretado que permite la manipulación de ficheros de texto y procesos. Perl propociona funciones muy potentes para la manipulación de textos, y en principio se consideró solo para esta tarea. Sin embargo, ha evolucionado tanto que hoy en día se le considera como una herramienta de programación de internet y de administración de sistemas y redes Unix.

Algunas característas que hacen a Perl popular son:

En contra de Perl se esgrimen varias razones, entre ellas:

La literatura sobre Perl es extraordinaria en cantidad y en muchos casos en calidad. Un libro introductorio es ``Learning Perl'' [1]. Se puede seguir con el libro ``Advanced Perl Programming'' de S. Srinivasan [2]. La referencia definitiva sobre Perl es el libro de Wall [3]. Un libro extraordinario sobre el depurador de Perl es el de Foley y Lester [4]. Para saber en profundidad sobre expresiones regulares esta el libro de Friedl [5]. El libro de Stein [6] cubre temas de programación en redes. Miles de recetas clasificadas según los problemas pueden encontrarse en el libro de Christiansen [7]. El texto de Jennes y Cozens [8] es de gran ayuda cuando se considera la posibiliad de combinar C y Perl.

Aunque potente, la dependencia del contexto de Perl le hace un lenguaje lleno de ``multiples significados''. Un libro que ayuda a sortear las ambiguedades es ``Effective Perl Programming'', de Hall [9].

Los capítulos de análisis léxico y sintáctico están inspirados en el clásico libro del dragón [10].

Una nota sobre el uso del inglés y el español en este documento: Resulta muy difícil evitar el uso de terminos en inglés en un documento como éste. He intentado utilizar un font distinto para esos casos. En los programas, muchos de los nombres de objetos y los comentarios aparecen en inglés. La experiencia me ha mostrado que, si tu programa es suficientemente bueno, acabará siendo estudiado y leído por programadores que no hablan castellano. Si quieres garantizar una verdadera ``portabilidad'' de tu código, utiliza el inglés como lenguaje de notación y documentación.

Los apuntes asumen que el lector esta familiarizado con el lenguaje C ( no es necesario que sea un experto) y que ha recibido un curso en teoría de autómatas y lenguajes formales.

Casiano Rodríguez León
2009-10-04