師匠の散歩

きままにPerlでも

ハッシュを保存する

Storable モジュールを使ってハッシュをディスクに保存する/ storable.cgi

ハッシュ保存方法

時間のかかる計算を終え他のルーチンに進む際、生成したハッシュがディスクに保存されていれば、計算時間の短縮化が図れる。

いくつか方法があるようだが、以下の方法で保存ができたので紹介する。

use Storable;

my %data = ();

$data{"国語"} = 90;
$data{"社会"} = 82;
$data{"数学"} = 54;
$data{"理科"} = 99;
$data{"英語"} = 87;

store \%data,'hash.pm' or die "Can't store "; # ハッシュの前にバックスペースをつけること

採用例を以下に示す。右クリックでダウンロードできる。NULLなどの制御文字を扱えるエディタであれば開くので、ハッシュが保存されているのを確認できる。

hash.pm
次は取り出し方法
use Storable;
my %newhash = (); 
%newhash = %{ retrieve('hash.pm') }; # ハッシュを読み込む

$"=  "<>";                           # 配列のデータ区切りをスペースから<>に変更
my $n = keys( %newhash );            # ハッシュの要素数を取り込む
my @key = keys( %newhash );          # ハッシュのキーを取得する
my @value = values( %newhash );      # ハッシュのデータを取り出す

print $n;
print @key;
print @value;
個数 = 5
キーの内容:理科<>数学<>社会<>英語<>国語
データ内容:99<>54<>82<>87<>90

storable.cgi // Topに戻る // indexに戻る
Copyright(C) 2009-2021 Grandmaster Last up : 2020/09/18