Perl fue, durante buena parte de los noventa y los dos mil, el lenguaje con que mucha gente entró al software libre. Esta nota repasa qué es, qué dejó y cómo era su comunidad, para quien nunca escribió una línea de Perl.
Qué es Perl
Perl es un lenguaje de programación que Larry Wall publicó en 1987. Nació para procesar texto y generar reportes, y se volvió la herramienta favorita de los administradores de sistemas por su manejo de expresiones regulares y lo rápido que se escribe un script útil.
A mediados de los noventa se convirtió en el lenguaje de la web dinámica: buena parte de los programas CGI de esa época, los formularios, contadores de visitas y foros, estaban escritos en Perl. Su lema informal resume su filosofía: There’s more than one way to do it (hay más de una forma de hacerlo).
#!/usr/bin/perl
use strict;
use warnings;
# Contar palabras de un archivo, el clásico de Perl
my %cuenta;
while (my $linea = <>) {
$cuenta{lc $_}++ for $linea =~ /\w+/g;
}
printf "%-15s %d\n", $_, $cuenta{$_}
for (sort { $cuenta{$b} <=> $cuenta{$a} } keys %cuenta)[0..9];
CPAN: el repositorio que todos copiaron
En 1995 apareció CPAN, la Comprehensive Perl Archive Network: un archivo central de módulos reutilizables, replicado en servidores de todo el mundo. Hoy parece obvio que un lenguaje tenga su repositorio de paquetes, pero CPAN fue de los primeros a esa escala. PyPI, npm, RubyGems y Packagist siguen la misma idea.
Contribuir un módulo a CPAN era, para muchos programadores de la época, la primera experiencia de publicar código abierto para que otros lo usaran.
JAPH: el arte de la ofuscación
Un JAPH es un programa corto que imprime “Just another Perl hacker,” de la forma más enredada posible. La tradición se remonta a Randal L. Schwartz, que los usaba como firma en los grupos de Usenet a comienzos de los noventa. La gracia está en que el resultado es trivial y el camino para llegar a él no lo es: recursión, sockets, manipulación de caracteres, matemáticas, cualquier truco del lenguaje sirve.
print reverse ",rekcah lreP rehtona tsuJ";
Ese es el más inocente. Los buenos son ilegibles a primera vista, y descifrarlos es una lección sobre los rincones del lenguaje.
Perl Mongers y PerlMonks
Los Perl Mongers son grupos de usuarios locales, identificados con el sufijo .pm (el mismo de los módulos Perl): NY.pm, London.pm y, en Chile, Santiago.pm. Se juntaban a conversar de código, presentar módulos y, muchas veces, a seguir la conversación en un bar.
PerlMonks, en línea desde 1999, es un sitio de preguntas y respuestas con estética de monasterio, donde los participantes ganan “experiencia” y rangos. Fue Stack Overflow antes de Stack Overflow, y sigue funcionando.
Perl hoy
Perl perdió terreno frente a Python, PHP y Ruby a partir de los años 2000. Parte de la causa fue la larga espera por Perl 6, un rediseño tan profundo que terminó convertido en otro lenguaje: en 2019 pasó a llamarse Raku.
Mientras tanto, Perl 5 siguió evolucionando con versiones anuales. Todavía viene instalado en casi todos los sistemas Unix y Linux, sostiene herramientas de administración, sistemas de bioinformática y aplicaciones heredadas en bancos y empresas de telecomunicaciones, y su sintaxis de expresiones regulares se copió en casi todos los lenguajes modernos (las PCRE, Perl Compatible Regular Expressions, llevan su nombre).
Si nunca lo probaste, perl -e 'print "hola\n"' funciona en casi cualquier terminal.
La comunidad como escuela
Para una generación de programadores, también en Chile, Perl fue la entrada al software libre: a publicar código, a leer el de otros y a juntarse con gente que hacía lo mismo. Esa forma de aprender en comunidad sigue siendo la mejor. Si quieres empezar por ahí, lee cómo convertirse en desarrollador de software.
Preguntas frecuentes
¿Quién creó el lenguaje Perl? Larry Wall, que lo publicó en 1987 para procesar texto y generar reportes.
¿Perl todavía se usa? Sí. Perl 5 sigue recibiendo versiones anuales, viene instalado en casi todos los sistemas Unix y Linux y sostiene herramientas de administración, sistemas de bioinformática y aplicaciones heredadas en bancos y telecomunicaciones.
¿Qué es CPAN? Es la Comprehensive Perl Archive Network, el repositorio central de módulos de Perl, creado en 1995. Fue uno de los primeros repositorios de paquetes a esa escala y la idea que siguen PyPI, npm y RubyGems.
¿Qué pasó con Perl 6? Se convirtió en otro lenguaje: en 2019 pasó a llamarse Raku, mientras Perl 5 siguió evolucionando por separado.
¿Perl es software libre? Sí. Perl se distribuye bajo la Artistic License o la GPL, a elección de quien lo usa. Más sobre esta licencia en licencia GPL.