User Tools

Site Tools


perl:mldbm_dumper

MLDBM Dumper

Desde há algum tempo que uso sistematicamente o módulo Perl MLDBM juntamente com DB_File e Storable para persistência das minhas scripts pequenas. Tem a vantagem da velocidade de hashing das DB_File, tem a vantagem de suportar dados estruturados nas tabelas de hashing, e de suportar acesso usando um Tie Perl. No entanto, por vezes não sei bem o que tenho em alguns ficheiros DB espalhados pelo disco. Como é tão certo usar sempre estes módulos em conjunção, torna-se simples fazer um programa genérico para despejar o conteúdo destes ficheiros (claro que pode não ser boa ideia caso realmente tenha muita informação lá dentro). Então, criei uma script que coloquei na minha PATH que faz um Dumper destas hashes. É uma script demasiado simples. Nem sei porque usei o warnings e o strict, mas é sempre uma boa prática…

  #!/usr/bin/perl 
  
  use strict;
  use warnings;
  
  use MLDBM qw/DB_File Storable/;
  use Data::Dumper;
  use Fcntl;
  
  my $file = shift;
  my %DB;
  tie %DB, 'MLDBM', $file, O_RDONLY or die $!;
  print Dumper(\%DB);
  untie %DB;

Ainda podia brincar um pouco mais com as opções do Data::Dumper para que o output fosse mais comprimido, mas não achei que fosse algo realmente importante. Infelizmente acho que pouca gente usa o MLDBM, pelo que tenho algumas dúvidas da utilidade desta script para o resto do mundo :-D

Alberto Simões: 2008/07/10 14:22

perl/mldbm_dumper.txt · Last modified: 2008/07/10 22:22 by ambs