Introducción a Perl

Perl (Practical Extraction and Report Language – Lenguaje Práctico para la Extracción e Informe)… ERROR!!, eso es PERL, Perl es simplemente un retroacrónimo sin mayor significado que el nombre de uno de los más potentes y maduros lenguajes de programación disponibles hoy en día.
Manuales de Perl, infinidades, libros, montones, así que este post está a eones de intentar ser un tutorial o manual de introducción a Perl, lo que si pretendo es promover en el lector la curiosidad por el lenguaje.

¿Que puedes hacer con Perl?, la respuesta directa es: lo que quieras.
un ejemplo de la simpleza de Perl sería un hola mundo:
#!/usr/bin/env perl
print "hola mundo";

La primera línea llama al interprete, Perl está portado a múltiples plataformas, no tienes que ejecutarlo solo en sistemas derivados de Unix para que funcione, bien puedes cambiarlo por: #!C:/Perl/bin/perl.exe es decir puedes trabajar en el entorno que más te guste (al fin y al cabo la ropa sucia se lava en casa).
La herramienta puede ejecutarse en consola y como la mayoría de “hola mundo” no tiene utilidad, “pero” con Perl llevar el resultado a la Web es tan simple como sumarlo con CGI (o mejor fastCGI) y podrás presentarlo online con tan solo una línea más:
#!/usr/bin/env perl
print "content-type: text/html\n\n";
print "hola mundo";

Cuando haces uso de un lenguaje como Perl tienes grandes ventajas, la primera y probablemente la más importante radica en que es un lenguaje maduro, en realidad maduro, sus librerías han sido probadas en miles de entornos y situaciones, además si buscas hacer algo con Perl, probablemente existe un módulo pensado en facilitar la tarea y alegrarte tu tarde haciendo tu vida más fácil. Una de las cosas que he visto desmotiva a los recién iniciados es precisamente eso, Perl ha pasado al rededor de 17 años en su versión 5.x y probablemente pasarán unos 10 años más para que se materialice un interprete completo de la especificación Perl6, sin embargo: ¿a quien le importa? ¿en que te afecta? entiendelo así: C y C++ llevan años, literalmente años sin ninguna mejora/cambio sustancial, eso no lo hace malo, inmaduro o inapropiado, no, sigue siendo un lenguaje potentísimo que según muchos rankings se mantiene como el lenguaje más utilizado en el desarrollo de proyectos, siempre entre el tercer y primer puesto.
Ahora, para ser honestos, Perl ha tenido grandes cambios en estos últimos años, desde soporte unicode a una sintaxis muy compacta.
Como ejemplo aquí un script sin mucha complejidad, pero que ilustra como en apenas un par de minutos puedes conseguir cualquier cosa que se te ocurra con Perl.
#!/usr/bin/env perl
use 5.010;
use strict;
use autodie;
use Digest::MD5;
my $file = $ARGV[0]; # con solo esta línea le dices al interprete que los parámetros que le pasarás por teclado, el primero de ellos será la variable file.
my $omd5sum = $ARGV[1]; # el segundo se convertirá en la variable omd5sum
open(FILE, $file) or die "I Can't open '$file': $!";
binmode(FILE);
my $fmd5sum = Digest::MD5->new->addfile(\*FILE)->hexdigest; # aquí lees el archivo y calculas su suma md5.
if ( "$omd5sum" ne "$fmd5sum" ) {say "NOOOO!!! el archivo está corrupto, podemos hacer algo para solventarlo.";}
else { say "seguro hacemos algo con esto"; }
say "$omd5sum and $fmd5sum"; # al final y solo por gusto mostramos los valores.

funcionaría así:
./archivo.pl archivo.tar.bz2 ffee70a111fd07372982b0550bbb14b5
ejemplo 2:
#!/usr/bin/env perl
use strict;
use Archive::Tar;
my $tarfile = Archive::Tar->new;
$tarfile->read('archivo.tar.gz');
$tarfile->extract(); #extrae el archivo
$tarfile->extract_file( 'caracol.rtf', 'caracol.rtf' ); #extrae solo un archivo

Como ves en apenas unas líneas puedes hacer una herramienta para comparar sumas md5 o bien puedes extraer archivos tar o solo parte de ellos, no son herramientas ni estilizadas ni pulidas y no reemplaza a un simple: md5sum -c archivo.md5 o un tar -xzvf archivo.tar.bz2 pero funcionan como ejemplo del potencial de Perl.
Si te picó la curiosidad, lo primero es instalar Perl (), luego la documentación: perldoc
#ejemplo:
perldoc -f chomp
online puedes encontrar infinidad de tutoriales y lugares donde empezar, mi recomendación: el mejor lugar: un buen libro.
¿Que libro? el que gustes, si quieres uno gratuito en castellano: http://nereida.deioc.ull.es/~pp2/perlexamples/ si prefieres uno más completo te tendrás que conformar con leerlo en ingles, probablemente Programming Perl (el libro del camello), recientemente me topé con un libro muy interesante, aunque no sería la mejor opción para empezar, pero es bastante actualizado: http://onyxneon.com/books/modern_perl/ puedes descargarlo en múltiples formatos gratuitamente.

Una respuesta a “Introducción a Perl”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *