dbmopen ASSOC,DBNAME,MODE

広告

広告

解説

この関数は、tie 関数にとって代わられました。dbm ファイルまたは ndbm ファイルを連想配列に結び付けます。ASSOC はその連想配列の名前、DBNAME はデータベースの名前となります。データベースが存在しなければ、MODE で指定されたモードで作られます。古い DBM 関数のみをサポートしているシステムでは、プログラム中で 1 度だけ dbmopen() を実行することができます。DBM も ndbm も持っていないシステムでは、dbmopen() を呼び出すと致命的エラーになります。DBM ファイルに対して書き込み権が無いときには、連想配列を読みだすことだけができ設定をすることはできません。書きこみができるかどうかを調べたい場合には、ファイルテスト演算子を使うかeval()の中でダミーのエントリを設定するとよいでしょう。大きな DBM ファイルを扱うときには、keys() や values()のような関数は巨大な配列を返します。大きな DBM ファイルでは、each() 関数を使って繰り返しを行なった方が良いかもしれません。

使用例

ソース

# history ファイルのオフセットを印字

dbmopen(%HIST,'/usr/lib/news/history',0666);
while (($key,$val) = each %HIST) {
	print $key, ' = ', unpack('L',$val), "\n";
}
dbmclose(%HIST);

参照

広告

Copyright (C) 2003-2006 七鍵 key@do.ai 初版:2003年07月07日 最終更新:2006年08月08日