Professional Documents
Culture Documents
Programación en Perl
Ya hablamos de ASP, aprendimos qué es PHP, pero nunca
mencionamos nada acerca de este NOBLE LENGUAJE.
Perl permite agregar el buscado DINAMISMO a las
Martín A. SCANDROLI
masc@rec-inf.com.ar
páginas web, realizar consultas y operaciones en BASES
Programador de Perl, C, diseño web y otras yerbas. Actual-
DE DATOS, y mucho más. En esta nota daremos los
mente trabaja en el área de la electromedicina y radiología. primeros pasos con nuestro primer programa Perl.
Figura 1. Formulario de ingreso de Figura 2. Pantalla de salida. Es Figura 3. El editor de textos UltraEdit
usuario. Puede tener el aspecto de importante para confirmar la correcta corriendo Perl. Con la línea perl
nuestro sitio, lo importante es llamar ejecución del script. También es %p%n%e, en la opción [Avanced/
correctamente al cgi. aconsejable que luzca como nuestro DOS Command], con <F9> ejecutamos
sitio. nuestros programas.
68 u s e r s . t e c t i m e s . c o m
Uno de los lenguajes
más nobles y sencillos
para la creación de
páginas web. Con
diversos caminos para
la ejecución de tareas,
se ha convertido en una
alternativa simple y
económica para encarar
proyectos en la Web.
gla. Al escribir hay que ser cuidadoso; posibilidad de tener Linux, o subir los directorio donde está alojado el binario
de lo contrario, no se hallarán ni si- programas al servidor sin mucho gasto de Perl: en la mayoría de los casos,
quiera los propios errores. Lo ideal es telefónico, esto no será necesario. El /usr/bin. Luego, para que corra, debe-
comentar cada función, explicando servidor web Apache (tanto para mos cambiarle las propiedades, de mo-
brevemente qué es lo que hace. En Perl Windows como para Linux) ya viene con do que sea ejecutable:
esto se realiza colocando el símbolo # el intérprete de Perl 5 por defecto. >chmod 755 archivo.pl
delante del texto; de esta forma, el Para realizar los scripts, que como di-
compilador omite lo que se escribió a jimos anteriormente son en ASCII, se Este paso debe realizarse una sola vez
la derecha hasta que encuentra un puede utilizar WordPad, un editor co- por cada archivo nuevo (en general se
<ENTER>. Así, cuando queramos modi- mún, o UltraEdit-32 (www.ultraedit.com), hace en la primera ejecución).
ficar o mejorar un programa, y lo reto- una gran herramienta a la hora de progra- Finalmente, para correrlo sólo basta
memos luego de un largo período, nos mar varias líneas de código (Figura 3). con invocar el archivo por su nombre:
será más fácil identificar las variables, Este último tiene opciones que resultan >archivo.pl
las funciones y el modo de hacer las de gran ayuda a la hora de verificar si lo
cosas. Otra ayuda es la clásica tabula- que hicimos está bien. Analogías con C/C++
ción: cada vez que se abre un bloque Teniendo en cuenta un par de detalles,
(for, while, if, etc.), hay que dejar dos Primeros pasos para los programadores acostumbrados
espacios adelante. En resumen, es Para correr los ejemplos, con Active a trabajar en C, o incluso para los que
aconsejable realizar una escritura clara Perl instalado en la máquina, ejecutamos recibieron nociones básicas de ese len-
y de fácil entendimiento, tanto para la siguiente sentencia en una ventana de guaje, la programación en Perl les resul-
nosotros como para otras personas. MS-DOS, detrás del símbolo de sistema: tará cómoda y sencilla.
C:\pruebas>perl archivo.pl Uno de esos detalles es la forma de
¿Qué necesitamos? declarar las variables. Para ello se les
Una de las herramientas más impor- donde perl es el intérprete del lenguaje antepone un símbolo según su natu-
tantes es Active Perl 5.22 (www.activesta- (perl.exe), y archivo.pl es el script que raleza, por ejemplo, para una variable
te.com/pw32/), que servirá para ejecutar y creamos. escalar del tipo entero sería $va-
probar los programas en la PC bajo Win- En el caso de UNIX hay que indicarle, lor, $a, $b, etc. Para un vector,
dows 32. Para los que cuenten con la siempre dentro del mismo archivo, el en cambio, se le antepone el símbolo
arroba, por ejemplo: @datos1[0].
La ventaja de esto reside en que no
✚ Para saber más debemos preocuparnos por su declara-
✚ FreeCode.com www.freecode.com/cgi-bin/search.pl?query=perl ción, ya que el intérprete se encarga
✚ ActiveState.com www.activestate.com de acomodárselo según su convenien-
✚ Perl.com, mucha info sobre este lenguaje www.perl.com cia (ver Tabla 1, Clases y tipos de
✚ Más material para quemarse el bocho language.perl.com variables).
✚ PerlClinic.com, muy recomendado www.perlclinic.com Veamos un ejemplo:
$dato=”6547CNN”;
u s e r s . t e c t i m e s . c o m 69
EXPERTOS WEBMASTERS
❙
el valor o cadena 6547CNN. Ahora, si
imprimimos: En esta tabla podemos ver cómo definir las variables para los distintos
print $dato; tipos de datos.
70 u s e r s . t e c t i m e s . c o m
LISTADO 1 - Agregar. pl </td>
#!/usr/bin/perl <td>
<b>$email</b>
$BaseDatos = “/server/www/www.midominio.com.ar/public- </td>
/datos/usuarios.txt”; </tr>
<tr>
# COMIENZO DEL PROGRAMA <td>
# de la siguiente forma invoco las diferentes subruti- <div align=”right”>Tipo de contador</div>
nas o funciones. </td>
&parseform; #analiza el formulario <td>
&ObtenerInfo; #recupera la información anterior <b>$tipo</b>
&Agregar; #agrega el usuario a la base de datos </tr>
&Salida; #Muestra una pantalla de salida </table>
u s e r s . t e c t i m e s . c o m 71
EXPERTOS WEBMASTERS
ra que sea comprendido por nuestro to para usar y, a continuación, le siguen Internet, aparecieron las páginas perso-
programa. En pocas palabras: almacena los demás campos. Un ejemplo de base nales y se popularizaron los tutoriales y
los valores ingresados separados por los de datos sería el siguiente: demás sitios que ofrecen herramientas,
nombres que se les asignaron en los 0|Martín|martins@hotmail.com|1 cursos y tutoriales en línea.
campos de los formularios. En nuestro 0|Pikachu|pikachu@pokemon.com|1 Es así que ahora es muy fácil encon-
caso son $FORM{‘nombre’}, para ex- 0|Andrea|andreag@yahoo.com|2 trar lo que buscamos en cuestión de mi-
traer el dato ingresado en el campo lla- nutos, podemos imprimirlo y leerlo off-
mado nombre; $FORM{‘email’}, para el El último campo es el que usaremos line en el lugar en que estemos.
campo email, y así los demás. para saber las preferencias del usuario, Si vamos a comentar algunos de los
Una vez analizado el formulario, esta- si queremos que el contador sea exhibi- mejores sitios para aprender este len-
mos en condiciones de tomar esa infor- do, o no, que simplemente figure una guaje, no podemos olvidarnos de
mación asignándola a variables escala- publicidad o un logo. Perl.org (www.perl.org), el sitio oficial,
res comunes. Esto lo hacemos en la se- Por último, la presentación final, uti- donde hallaremos mucha información.
gunda rutina llamada &ObtenerInfo;, lizada para transmitirle al usuario que el No está en castellano pero, para los que
que nada más asigna los campos ante- programa se ejecutó normalmente. dominan el idioma inglés, les será de
riormente analizados en las nuevas va- Otra de las sentencias clásicas de Perl, gran ayuda.
riables escalares. obligada si queremos enviar texto a la Si visitan Los Tutoriales (www.lostuto-
La tercera rutina es &agregar, encar- pantalla del navegador, es print “Con- riales.com) o Programación.Net (www.pro-
gada de adicionar todos los datos obte- tent-type: text/html\n\n”;. Debemos gramacion.net), ambos comentados en la
nidos al final de la base de datos de avisarle al browser lo que vamos a en- nota de tapa de esta revista, podrán
usuarios del sistema. viarle a continuación. Inmediatamente encontrar una gran cantidad de recur-
Lo que vemos son dos Opens separa- después, estamos listos para pasarle el sos gratuitos y tutoriales, sobre este y
dos por el operador || (doble pipe), código HTML que queremos mostrar, y la otros lenguajes similares. Otro sitio
que se encarga de decirle al intérprete forma más sencilla de hacerlo es con parecido que les será de gran ayuda es
de Perl que si falla la primera función, etiquetas. Webexperto (www.webexperto.com.ar). Si
es decir, si da algún error, ejecute la se- Con la sentencia print <<HTML; deci- bien no tiene una gran cantidad de
gunda. Entonces intenta abrir el archi- mos que imprima todo lo que sigue de- links, seguro que descubrirán algo de
vo en modo agregar al final (operador bajo (incluso líneas comentadas con utilidad.
>> delante del nombre del archivo). Si #), hasta que encuentre la etiqueta con
el archivo no existe, crea uno nuevo, el nombre que le asignamos, por ejem- Finalmente
vacío, listo para ingresar información plo HTML. Esta palabra debe escribirse Como vimos hasta aquí, Perl se con-
(operador >). en el margen izquierdo sin ningún es- vierte en una opción más que intere-
El nombre del archivo fue dado al co- pacio, ni delante ni detrás, y con un sante y, sobre todo, económica para
mienzo e ingresado en la variable $Ba- <ENTER> para finalizar (tampoco lleva construir un sitio con contenido diná-
seDatos. También, dentro de la fun- el punto y coma). mico e interactivo. Además, gracias a
ción open, le asignamos una etiqueta los servidores web como Apache, tanto
que identifique a este archivo abierto, Dónde aprender Perl para Windows, como para Linux, pode-
para poder manejarlo y direccionarle la Hasta hace muy poco tiempo, era mos mantenerlo fácilmente en nuestra
información. Inmediatamente después muy difícil aprender un nuevo lenguaje propia PC sin necesidad de subirlo al
agregamos la línea que contiene la in- de programación por cuenta propia. servidor cada vez que queremos ver al-
formación del usuario de un modo sen- Los textos o libros generalmente eran gún cambio o probar algo.
cillo: imprimimos en el archivo identi- difíciles de conseguir y, en la mayoría Tampoco nos olvidemos de que, por
ficado con el nombre USUARIOS la lí- de los casos, venían en inglés, lo cual sobre todas las cosas, es una alternati-
nea que contiene los datos que ingre- los limitaba solamente a un grupo va muy económica y que no requerirá de
samos en el formulario. reducido de personas. inversiones costosas en cuanto a siste-
La base de datos será un archivo AS- Afortunadamente, con la llegada de mas operativos y hardware. ✕
CII que contendrá los distintos campos
separados por el signo | (pipe); elegido Dónde alojar Perl
❙
72 u s e r s . t e c t i m e s . c o m