12 julio 2007

Jugando con Perl (1)

Perl no es el lenguaje que más de moda esté en este momento, pero sigue ahí. Y dicen que es un lenguaje potente, adecuado para automatizar tareas en un servidor, para crear CGIs o para integrarlo con Apache en un servidor web, por ejemplo. Y de hecho, muchos servidores de Internet lo incluyen, además de otros lenguajes que actualmente se oyen mencionar más, como PHP, o como Python (otro que aprenderé pronto... ;-) )

El caso es que, aprovechando las vacaciones, he decidido dedicar algo de tiempo a aprender cosas "nuevas". Y una de las que tenía en la lista es Perl. Cuento con la ayuda del libro "Perl in a Nutshell", que adquirí hace ya algún tiempo y que hasta ahora no había mirado más que por encima.

Iré avanzando y practicando, y dejando constancia de mis avances, por si a alguien más le resultaran útiles.

Hoy toca el primer acercamiento. Un primer vistazo a la sintaxis básica del lenguaje y al uso del intérprete bajo Windows.


Primer paso: descargar (e instalar) la versión "lista para usar" bajo Windows, desde

http://www.activestate.com/Products/ActivePerl/

Se trata de una descarga de unos 15 Mb de tamaño. En concreto, la versión que he descargado es la 5.8.8, en formato MSI (instalador de Windows). La instalación es poco más que hacer 3 clics en el botón "Siguiente". El resultado ocupa unos 78 Mb en el disco duro, y él mismo se encarga de situarlo en el Path (o eso se supone), para que podamos usarlo desde cualquier otra carpeta de nuestro ordenador.


Segundo paso: probar que funciona. Abro un intérprete de comandos (Inicio / Ejecutar / "cmd", o bien Inicio / Todos los programas / Accesorios / Símbolo del sistema, en ambos casos bajo XP).

Está instalado de c:\Perl así que voy hasta esa carpeta (concretamente hasta su subcarpeta "bin", que es donde se encuentra el intérprete):

c:
cd \perl\bin
dir


Y efectivamente, en esa carpeta hay 106 ficheros, en su mayoría ficheros EXE o ficheros BAT.

La sintaxis básica de Perl es muy parecida a la de C. Podemos escribir programas completos (eso mañana), pero también pedir al intérprete que ejecute una única orden, usando la opción "-e", así:

perl -e "print 'hola' "

Esto escribiría la palabra "hola" (sin las comillas, claro) en pantalla. Pero también podemos hacer algo ligeramente más complejo, como

perl -e "for ($i=0; $i<5; $i++) { print 'hola '; } "


que escribiría "hola hola hola hola hola " en pantalla.


Mañana más...