DBM ハッシュの機能を使うと、ハッシュの内容をファイル(DBM ファイル)に保存することができます。 DBM ハッシュは通常のハッシュと同じように操作することができます。
# DBM ファイルの open (なければ新規作成)
dbmopen(my %DATA, "data", 0644)
or die "Failed to create DBM file: $!";
# データ追加
$DATA{'key'} = 'value';
# DBM ファイルの close
dbmclose(%DATA);
DBM ハッシュを使用する場合、以下のことに気をつける必要があります。
.dir
や .pag
という拡張子を持つ 2 つのファイルが生成されます。次のようにすれば DBM ファイルからエントリを削除できます。
delete $DATA{'key'};
キー、値の列挙も通常のハッシュと同様に while
や each
で行えます。
while (my($key, $val) = each(%DATA)) {
print "$key => $val\n";
}