dbm
{ use Fcntl; use SDBM_File; my $dbtype="SDBM_File"; tie(my(%db), $dbtype, 'd1.db', O_RDWR | O_CREAT, 0700) or die; $db{foo}="bar"; untie(%db); #unlink <*.db.dir>; #unlink <*.db.pag>; }
use SDBM_File; は当然として、use Fcntl;を忘れると GDBMが@INCにないとかいうエラーメッセージが出るため注意
・DB種別の引用
http://www.c3.club.kyutech.ac.jp/c3magazine/archives/1st/03/PERL/
ODBM
古いタイプのDBMです。キーと値を合わせた長さが1024バイトを越えてはならないという制限付きです(Perl4のDBMの制限はここから来ています)。 ODBM_Fileモジュールが必要です。
NDBM
UNIXの最近の標準DBMです。これはキーと値合わせて4096バイトまでです。 NDBM_Fileモジュールが必要です。
SDBM
フリーのDBMです。これも4096バイト制限があります。 SDBM_Fileモジュールが必要です。
DBM系では、SDBMがperl5に標準バンドルされているため一番可搬性が高いようだ。
QDBMのベンチレポートによるとSDBMは100万レコードで壊れるため使わないほうがよさそうだ。