データを保存する
配列やハッシュの値を保存する場合はStorableモジュールを使うのが簡単です。storeで保存、retrieveで読み込みになります。
use strict;
use Storable;
my $filename = 'tmp.dat';
my @data = (1, 3, 4, 6, 8, 10, 12);
eval {
store(\@data, $filename); # ファイルに保存
};
if ($@) {
die "[error]$@";
}
my @load_data;
eval {
@load_data = @{retrieve($filename)}; # ファイルから読み込み
unlink $filename;
};
if ($@) {
die "[error]$@";
}
foreach (@load_data) {
print $_, "\n";
}
保存はバイナリ形式で行われそのマシンのバイトオーダーで保存されるので、異なるマシンでデータを読み出す場合には、storeの代わりにnstoreを使って下さい。nstoreは共通のバイトオーダー(ネットワークオーダー)で保存します。読み込みはどちらの場合もretrieveを使います。