Storableでデータ保存

Storableパッケージは、スカラー(SCALAR)、配列(ARRAY)、ハッシュ(HASH)、オブジェクトのリファレンス(REF)を持ったPerlのデータ構造体を永続化します。
つまり簡単にディスクに格納し、後で取り込むことを可能にします。

ということで、Storableでデータ保存してみます。

データを保存する

#!/usr/bin/perl

use strict;
use warnings;
use Storable qw(nstore);

my %color = (
	'red' => 'FF0000',
	'blue' => '0000FF',
	'white' => 'FFFFFF',
);
nstore \%color, 'my_color.dat';

作成されたファイル。

$ file my_color.dat 
my_color.dat: perl Storable(v0.7) data (network-ordered) (major 2) (minor 7)

データを復元する

#!/usr/bin/perl

use strict;
use warnings;
use Storable;
use Data::Dumper;

print Dumper(retrieve ('my_color.dat'));

実行結果。

$VAR1 = {
          'white' => 'FFFFFF',
          'blue' => '0000FF',
          'red' => 'FF0000'
        };


簡単にデータ保存・復元ができました。
データ保存のところでnstoreを使っているのは、404 Blog Not Found:perl - 勝手に添削 - StorableからのBest Practice。
プラットフォーム依存がなくなります。
データの保存って、Storableでほとんど片付くのではないかなと思いました。(保存ファイル形式が気になりますが。。。)


Tie::Storableってのもあるみたいです。
これもdanさんだ。


Storable - Perlデータ構造体の永続化