| Artículos | 01 MAR 2001

Programación en Perl (I)

Tags: Histórico
Javier Cáceres.
Nacido a finales de la década de los 80, Perl es actualmente uno de los lenguajes de programación interpretados más populares. Su sencillez y singular flexibilidad han hecho de este lenguaje uno de los favoritos de los administradores a la hora de crear scripts, tanto para la gestión de sus sistemas como para ofrecer contenidos dinámicos a la Web a través de los tan conocidos CGI. Con el presente, iniciamos una serie de artículos destinados a sentar las bases de esta herramienta tan versátil como interesante.

La historia de Perl (Practical Report and Extraction Language) comienza el 18 de Octubre de 1987 cuando el código fuente de la versión 1.0 es publicado en uno de los entonces más populares foros de usenet: comp.sources. Desde entonces, no ha dejado de ser objeto de modificaciones y mejoras hasta llegar a la actual y difundida versión 5. Si bien la primera entrega no hacía gala de unas altísimas prestaciones, 13 años de desarrollo no pasan en balde. El Perl de nuestros días combina en su sintaxis la estructura de otros conocidos lenguajes de programación como puedan ser C o BASIC, con la potencia y flexibilidad de herramientas tales como awk, sed o sh (de sobra conocidas por los administradores de sistemas UNIX). De esta forma, es un lenguaje tremendamente optimizado para la manipulación de cadenas de texto, entrada/salida de datos y la ejecución de comandos del sistema. Perl es capaz de acceder a casi todo tipo de bases de datos a través de una única interfaz (DBI), común para todas ellas. Puede trabajar tanto con archivos HTML como XML y, en general, con casi cualquier tipo de esta clase de documentos. Igualmente, el actual diseño del lenguaje le permite interactuar con distintas bibliotecas de C/C++, a lo que hay que añadir que está prevista una mayor integración con Java en la próxima versión 6, prevista para el verano.
Evaluar las razones del éxito de un determinado producto no suele ser una tarea fácil. Perl no es una excepción en este sentido, aunque no cabe duda de que la llegada de Internet ha sido un factor determinante en su tremenda difusión y desarrollo. Perl 5, cuya primera revisión vio la luz allá por 1994, aparte de ser resultar muy conveniente en tareas administrativas y de gestión del sistema, es el lenguaje de programación más popular para la creación de contenidos dinámicos en servidores web mediante CGI, pequeñas aplicaciones que se ejecutan en el servidor y recogen u ofrecen información específica al visitante de una determinada página. Aparte de esto, un gran e indiscutible acierto de su creador, Larry Wall, fue hacer de Perl un miembro más de la familia Open Source. De esta forma, aunque él sigue siendo el máximo responsable del proyecto, miles de colaboradores altruistas han contribuido a hacer de Perl lo que es hoy día. El Sr. Wall es un excelente programador, viejo conocido de la comunidad UNIX. De hecho, creó Perl como lenguaje de “scripting”, de proceso por lotes, orientado principalmente a complementar al popular lector de noticias Rn, del que es autor igualmente. Cabe destacar que la mayoría de los programadores del mundo sueñan con que alguna de sus aplicaciones se encuentre incluida por defecto en prácticamente todas las distribuciones UNIX. Larry Wall tiene dos, Rn y Perl.
Perl es un lenguaje en toda regla. Docenas de libros se han publicado a este respecto, algunos de ellos tratando tan sólo algún aspecto de este versátil lenguaje. Así pues, por simple cuestión de espacio, no podremos profundizar en todos y cada uno de los puntos todo lo que desearíamos. El curso que comenzamos con el presente artículo persigue principalmente sentar las bases de este lenguaje de scripting, prestando especial atención a su aplicación en tareas administrativas, el acceso a bases de datos y, lo que es más importante, la creación de CGI. Perl es un lenguaje de sintaxis realmente sencilla y no excesivamente estricto con los aspectos gramaticales. En este sentido se podría decir que Perl es un lenguaje “para todos los públicos”, esto es, no resulta imprescindible experiencia previa en el campo de la programación, aunque, como es natural, de contar con ella, nos será de gran ayuda. Paralelamente, a aquellos que siguieron el curso de programación de Shell scripts que publicamos hace unos meses, les resultará más sencillo hacerse con Perl, puesto que, como ya hemos comentado, guarda gran número de similitudes con la programación de la interfaz de comandos de UNIX.

Múltiples plataformas
Una vez dejado claro que la sencillez de Perl lo hace apto para todo tipo de usuarios, resta conocer para qué plataformas está disponible. La respuesta a esta pregunta es igualmente positiva: existen versiones de Perl para virtualmente todas las plataformas informáticas relevantes, desde VMS hasta Macintosh, pasando por MS-DOS, sistemas Win32 (Windows 95/98/Me/NT/2000), todos los UNIX, y un largo etcétera. Igualmente, existen módulos para servidores web (Apache y Netscape, por ejemplo), que aceleran más que considerablemente la ejecución de este tipo de programas dentro del servidor. En la tabla 1 encontrará referencia de dónde encontrar Perl para las plataformas informáticas más relevantes. Para localizar los módulos de servidor, si no vienen incluidos por defecto, no hay más que dirigirse a las respectivas páginas de la compañía que desarrolla el servidor web concreto.
Pese a que Perl es estándar, hasta cierto punto, siempre encontraremos que ciertas cosas se hacen de una u otra forma en función de la plataforma con la que estemos trabajando. El pequeño curso que desarrollaremos en estas páginas estará basado en todo momento en la versión para UNIX de Perl, más concretamente la que se encuentra en la inmensa mayoría de las distribuciones de Linux. Por tanto, es posible que encuentre ciertas incompatibilidades si trabaja con, por ejemplo, la versión creada para plataformas Win32. Dependiendo de la distribución Linux que empleemos, encontraremos una u otra versión del intérprete de Perl, con más o menos módulos adicionales. En cualquiera de los casos, a no ser que trabajemos con una distribución Linux realmente antigua, todos los paquetes relativos a Perl se basarán en el estándar definido por la versión 5.005.
Si ya conoce los sistemas UNIX a fondo, y trabaja habitualmente con sus herramientas administrativas, es posible que se esté preguntando qué ventajas le puede reportar Perl en comparación con lo que usa hoy día. Encontramos principalmente dos. La primera es que Perl unifica gran parte de esas herramientas administrativas, que antes utilizaba desde el intérprete de comandos, en un entorno relativamente más sencillo de programar y más versátil que un shell script. La segunda, y tal vez más importante ventaja, reside en un concepto del que se habla a menudo y en ocasiones no se valora lo suficiente: la “portabilidad”. Gracias a la alta compatibilidad entre las distintas plataformas en las que se encuentra disponible, a menudo es más sencillo llevar, por ejemplo, un programa escrito en Perl de un sistema UNIX a otro, que si tratáramos de “portar” el shell script que realiza una función equivalente.
Usuarios de otras plataformas, como pueda ser Windows NT, encontrarán en Perl una excelente herramienta para, en cierta forma, personalizar la administración del sistema. Desde la creaci

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información