このハッシュに含まれる要素の数を確認する必要があるだけで、ドキュメントを見ていますが、これを提供する唯一のものは db_stat であり、その下に TODO があります。
http://search.cpan.org/dist/BerkeleyDB/BerkeleyDB.pod#Using_db_stat
では、カーソルを作成して全体を解析する以外に、ハッシュに含まれるキーの数を確認するにはどうすればよいでしょうか?
このハッシュに含まれる要素の数を確認する必要があるだけで、ドキュメントを見ていますが、これを提供する唯一のものは db_stat であり、その下に TODO があります。
http://search.cpan.org/dist/BerkeleyDB/BerkeleyDB.pod#Using_db_stat
では、カーソルを作成して全体を解析する以外に、ハッシュに含まれるキーの数を確認するにはどうすればよいでしょうか?
ここで答えを見つけたようです:
http://download.oracle.com/docs/cd/E17076_02/html/api_reference/C/dbstat.html
db_stat が呼び出されたときに設定されるさまざまな変数に名前を付けます。これには、私が探していたもの、キーと値のペアの数を示す「hash_ndata」が含まれます。
bdbtie
データベースをハッシュに変換してから、ハッシュ内のキーの数を確認できます。このkeys
関数は、スカラーコンテキストで使用される場合、ハッシュ内のキーの数を提供します。
use DB_File;
our %dbHash;
yadda, yadda, yadda;
tie (%dbHash, "DB_File", $dbFileName);
print "The number of keys in $dbFileName is " . keys(%dbHash) . "\n";
残念ながら、システムにdbdがないため、これをテストできません。を処理するには、パッケージ変数を使用する必要があると思いますtie
。