tie
para proporcionar
un acceso transparente a la tabla almacenada en el disco.
La capacidad de un sistema o módulo para hacer que la vida o ámbito de los datos de una aplicación se prolongen mas allá de la ejecución de la aplicación se conoce con el nombre de persistencia. Se conoce por serialización a los procesos encargados de empaquetar estructuras de datos anidadas como arrays de hashes etc. en una estructura plana y lineal. Es deseable que la representación de los datos sea independiente de la máquina, evitando problemas de representación de enteros y flotantes o del orden de los bytes.
Véase un ejemplo de uso del módulo MLDBM:
#!/usr/bin/perl -w use MLDBM qw( DB_File Data::Dumper ); use Fcntl; unlink 'mldbmtest.dat'; tie my %db1, 'MLDBM', 'mldbmtest.dat', O_CREAT | O_RDWR, 0666 or die "No se pudo inicializar el fichero MLDBM: $!\n"; %db1 = ( 'alu2511' => { nombre => 'Josefina Fernández Pérez', tel => '922 00 00 00', fecha => '22/07/84' }, 'alu2233' => { nombre => 'Ana Feliú Forner', tel => '922 00 11 22', fecha => '14/06/85' } ); untie %db1; tie my %db2, 'MLDBM', 'mldbmtest.dat', O_RDWR, 0666 or die "No se pudo inicializar el fichero MLDBM: $!\n"; print Data::Dumper->Dump( [ \%db2 ] ); untie %db2; exit;Cuando se ejecuta se obtiene el siguiente resultado:
./mldbmtest2 $VAR1 = { 'alu2511' => { 'fecha' => '22/07/84', 'tel' => '922 00 00 00', 'nombre' => 'Josefina Fernández Pérez' }, 'alu2233' => { 'fecha' => '14/06/85', 'tel' => '922 00 11 22', 'nombre' => 'Ana Feliú Forner' } };