[bcn-pm] Hola a todos:

Tim Allen tim.allen at oportunanet.es
Thu Sep 5 02:44:53 CDT 2002


----- Original Message -----
From: "Miquel Bordera" <miquelbs at teleline.es>
> Sin embargo me estoy topando con un pequeño problema.  En todos los
> manuales de Perl que me he mirado (bajados de Internet) explica
> solamente como manipular archivos de texto de acceso secuencial, y me
> preguntaba si alguien de vosotros podria enviarme informacion sobre si
> es posible gestionar archivos de acceso aleatorio mediante registros o
> como hacerme una base datos MySQL, que me han dicho que es posible.

Hola Miquel,
Bienvenido al grupo.  Sí, seguimos con vida-- más que nada con preguntas
como el tuyo.

Bueno, a por tu pregunta.  Lo más facil para manipular bases de datos en
Perl es utilizar el módulo DBI.  Vease la página http://dbi.perl.org,
particularmente el vínculo "Documentation".  Hay varios tutorials sobre el
tema.  Basicamente, el DBI te deja hacer lo mismo que ODBC en M$ Windows.
Puedes conectar a la BD, formular solicitudes y sentencias de definición de
tablas, vistas, etc.  En la mayoría de los casos el código que escribes se
puede útilizar con diferentes BDs, incluyendo MySQL, Oracle, M$ Access,
Informix, CSV, Text... simplemente cambiando el módulo DBD::Tipo_de_BD que
especificas en tu código (hay muchos DBD's: trabajan juntos con DBI como
capas de emulación (Emulation Layers)).

Otra idea: Puedes hacer acceso aleatorio a datos utilizando hashes también.
Son como arreglos (de hecho, a veces se llaman "associative arrays"), pero
con la diferencia que en lugar de números, utilizan claves de texto como sus
indices:
$bcnpm{"tim"} = "EEUU";
$bcnpm{"jaume"} = "CAT";
$bcnpm{"angel"} = "CAT";

Nota que los claves tienen que ser únicos, pero sus valores pueden
duplicarse.

Hashes sólo existen durante la ejecución del programa, pero se puede
útilizar el módulo Data::Dumper para guardar el hash en un fichero de texto
y recuperarlo después.  Un ejemplo de Data::Dumper se encuentra en
http://barcelona.pm.org/yapat.txt . Era un programa que escribí ya hace
tiempo que machaca el usuario en los PerlFuncs-- usé Data::Dumper para
grabar el número de respuesta correctas y la pila de preguntas sin
respuestas correctas.

Hay otros maneras-- si tienes un sistema de Unix/Linux, tienes acceso a un
simple base de datos que se llama el Berkeley DB
(http://www.sleepycat.com/).  No sé mucho de eso, pero merece una mirada.

¡Espero que te ayude!  y bienvenido.
--
zeno (tim)




More information about the Barcelona-pm mailing list