Pular para o conteúdo

Introdução a Persistência de Estrutura de Dados em Perl

Às vezes identificamos a necessidade de guardar estrutura de dados, seja para transporte, para persistência, para processamento posterior, entre outros. Por isso existem inúmeras técnicas para se armazenar estrutura  de dados, e para poder recuperá-las posteriormente, como data-dumper, storable, json, yaml, xml etc.

Hoje eu vou apresentar neste simples script uma dessas técnicas que se utiliza do modulo Storable para guardar a estrutura de dados para poder utilizar a mesma mais tarde.

OBS;: este é um script introdutório sobre o módulo, para dar apenas uma idéia sobre uma solução para possíveis problemas.

Caso precise de algo mais específico sobre este assunto, sugiro que dê uma olhada no módulo, para utilizar as funções que melhor se encaixam em seu cenário.

PRÉ-REQUISITOS:

- módulo IO::File (manipulação de arquivo)
- módulo Storable (persistência de estruturas de dados)
- módulo Data::Dumper (debug da estrutura de dados)

EXECUTANDO:

$ perl storage-freeze.pl

REFERÊNCIAS:

https://metacpan.org/pod/IO::File
https://metacpan.org/pod/Storable
https://metacpan.org/pod/Data::Dumper
Daniel Vinciguerra dvinciguerra
Hits: 2.363 Categoria: Perl Subcategoria: Avançado
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Descrição

Às vezes identificamos a necessidade de guardar estrutura de dados, seja para transporte, para persistência, para processamento posterior, entre outros. Por isso existem inúmeras técnicas para se armazenar estrutura  de dados, e para poder recuperá-las posteriormente, como data-dumper, storable, json, yaml, xml etc.

Hoje eu vou apresentar neste simples script uma dessas técnicas que se utiliza do modulo Storable para guardar a estrutura de dados para poder utilizar a mesma mais tarde.

OBS;: este é um script introdutório sobre o módulo, para dar apenas uma idéia sobre uma solução para possíveis problemas.

Caso precise de algo mais específico sobre este assunto, sugiro que dê uma olhada no módulo, para utilizar as funções que melhor se encaixam em seu cenário.

PRÉ-REQUISITOS:

- módulo IO::File (manipulação de arquivo)
- módulo Storable (persistência de estruturas de dados)
- módulo Data::Dumper (debug da estrutura de dados)

EXECUTANDO:

$ perl storage-freeze.pl

REFERÊNCIAS:

https://metacpan.org/pod/IO::File
https://metacpan.org/pod/Storable
https://metacpan.org/pod/Data::Dumper
Download storage-freeze.pl Enviar nova versão
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Esconder código-fonte

#!/usr/bin/env perl 
# 2016 (c) Daniel Vinciguerra

use utf8;
use strict;
use warnings;

use IO::File;
use Storable qw/freeze thaw/;
use Data::Dumper;


# arquivo de gravação
my $FILE = 'database.dat';


# minha estrutura de dados simples
my $usuario_list = [
    { id => 1, nome => 'Foo', email => 'foo@email.com' },
    { id => 2, nome => 'Bar', email => 'bar@email.com' },
    { id => 3, nome => 'Baz', email => 'baz@email.com' },
];


# DEBUG: mosta o estado inicial da estrutura de dados
print "- Estrutura de Dados: \n" . Dumper($usuario_list);


# serializando a estrutura de dados
my $serialized = freeze $usuario_list;

# gravando a estrutura serializada em um arquivo
my $fout = IO::File->new($FILE, 'w');
if(defined $fout){
    print $fout "${serialized}";
    $fout->close;
}


# limpando a variável que havia a estrutura de dados
undef $usuario_list;

# DEBUG: verifica o que existe na estrutura de dados
print "- Estrutura de Dados: \n" . Dumper($usuario_list);


# recuperando a estrutura serializada em um arquivo
my $fin = IO::File->new($FILE, 'r');
if(defined $fin){
    $usuario_list = thaw(join('',<$fin>));
    $fin->close;
}

# DEBUG: mosta a estrutura de dados
print "- Estrutura de Dados: \n" . Dumper($usuario_list);
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Monitoração Web com Perl

chpasswd.cgi

Sem Queda 2.0

Calculadora de notas versão Perl

Tratando Exceções com o Perl

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.