MLDBMの使い方

長い時間悩まされたMLDBMのエラーの理由は,どうやらデータベースに格納しようとしているファイルサイズがでかいんだよコノ野郎!
というものだと判明(判断)


もしかしたら,SDBMの部分をGDBMに変えたらうまくいのかなぁ.
とやってみたらうまくいった.めでたしめでたし.

use MLDBM qw(GDBM_File);  # 明示的にGDBM使うことを表記
use GDBM_File;            # GDBM使う場合はこれが必要.SDBMの場合はいらない
use Fcntl;                # これは書く必要があるみたい

my $DB_FILENAME = './hoge.db';

tie %hoge_hash, 'MLDBM', $DB_FILENAME, O_CREAT|O_RDWR, 0644 or die;

...

untie %hoge_hash;


これでハッシュにリファレンスをがんがん入れてもOKになったのでかなり便利.
複雑なデータ構造を扱う場合も,RDBモデリングとか後回しにしてこれ使おう.
もしかしたらデータ容量が大きくなるから,サイズが大きめになるのかなぁ.


ちなみにここを参考にしました.