Qué es el Perl

Antes de nada, un poco de filosofía. Al perl se le conoce a menudo como «lenguaje de scripting», a diferencia de los lenguajes de programación, ya que originariamente se pensó no para grandes trabajos, sino para la automatización de determinados tasks. Con los años, el perl ha ido siendo más y más potente, utilizándose para proyectos cada día más relevantes, si bien éste no era su cometido originario.

El Perl («Processing Estraction Report Language», para quien lo aprecia; «Pathologically Electric Rubbish Lister», para quien le fascina, como sugiere el autor) es un lenguaje dirigido principalmente al tratamiento de stringhe y file de texto. Lo que en Perl resulta absolutamente natural hacer es efectuar búsquedas de secuencias de carácteres dentro de stringhe (pattern matching), sustituciones de substringhe (pattern substitution), operaciones sobre file de textos estructurados en campos y record o bien no estructurados. Por estas razones, el Perl se utiliza con fuerza en la escritura de procesos CGI instalados en un servidor web, o para el desarrollo de procesos de mantenimiento de las actividades de un servidor. Por los mismos motivos, el Perl no resulta, sin embargo, indicado para desarrollar procesos de puro cálculo científico o programas que necesitan una gran velocidad y precisión de cálculo o elaboraciones numéricas complejas.
Pero el Perl se convierte en una necesidad para quien tenga que manejar un sitio web que no esté compuesto sólo de texto e imagen: con este lenguaje, es posible automatizar algunas operaciones útiles, desde las más simples solicitud de una dirección e-mail) a las más complejas (como registrar datos de ususarios, etc.). ¿Quién no se ha topado alguna vez con un sitio en el que se nos pedía la dirección e-mail para inscribirnos en una mailing-list, o quién no ha visto en algunas páginas algo como «Visitante número nnnnnnn», o a quién no le han pedido que rellenase módulos de inscripción o registro? ¡Creo que todos!
Pues bien, por debajo de todo esto, hay líneas y líneas de Perl (¡en la mayor parte de los casos!) que realizan lo que el usuario ha tecleado y lo restituyen al webmaster en formato inteligible o mejor (sobre todo para registros e inscripciones, en los que hay bastantes campos que rellenar: nombre, apellidos, etc.) formateado en diversos campos (de base de datos) o, en el mejor de los casos, haciéndolo todo solo: tomemos por ejemplo a un usuario que quiere tener un espacio web gratis y que tiene que registrarse: se encontrará ante muchas preguntas que responder, y al final tendrá que pulsar la tecla «envía» y pasar el asunto al webmaster, que se ocupará de confirmar la inscripción. Quien haya hecho esto al menos una vez se habrá dado cuenta de que la confirmación de inscripción realizada llega inmediatamente (¡hablamos de algunos minutos como máximo!): pues bien, aquí no es el webmaster el que trabaja a la velocidad de la luz, sino un complicado script que recibe las informaciones y las elecciones del ususario, asignándole un nombre de usuario y una clave, preparando un directorio en el servidor que pueda recibir los file del usuario, file que, por otra parte, quedará protegido de otros usuarios que pretendiesen modificarlo, etc.; en definitiva, se preocupa de enviarle al usuario un mensaje (que normalmente es un modelo en el que se incluyen sus datos) para advertirlo de que la operación se ha completado con éxito. Y no nos olvidemos de que el mismo script controla que las elecciones del usuario sean sensatas: por ejemplo, controlando que la dirección e-mail sea válida (en el sentido de que esté en la forma usuario@dominio y no usuario_dominio, por ejemplo).

En definitiva, el Perl es sin duda una mina de oro para el webmaster que tenga determinadas exigencias, y aprender las bases es útil para poterder iniciar a escribir los propios script de automatización (pero no sólo, se pueden escribir también auténticos programas) y sucesivamente implementarlos en el propio servidor, sea o no local.

El intérprete perl no compila nunca el códice en códice-máquina, como hacen los compiladores C: cada vez que se ejecuta un script en perl, se interpreta «al vuelo».

Hay 2 versiones de perl: el perl4 y su sucesor, el perl5. Éste es, en general, compatible con el perl4, y tiene además features adicionales. En este documento se hará referencia sobre todo al perl5, ya que debería ser la release más utilizada.