[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