如何查看Berkeley DB(Perl)中有多少个键?

时间:2010-11-28 05:54:37

标签: windows perl berkeley-db

我只需要找出我在这个哈希中有多少元素,我正在查看文档但是唯一可能给我这个的是db_stat,并且它下面有一个TODO。

http://search.cpan.org/dist/BerkeleyDB/BerkeleyDB.pod#Using_db_stat

除了创建游标并解析整个事物之外,我怎么能看到哈希中有多少个键呢?

2 个答案:

答案 0 :(得分:1)

似乎在这里找到了答案:

http://download.oracle.com/docs/cd/E17076_02/html/api_reference/C/dbstat.html

在调用db_stat时命名许多不同的变量,包括我正在寻找的变量,'hash_ndata',它给出了键值对的数量。

答案 1 :(得分:0)

您可以{b}数据库tie哈希,然后检查哈希中的键数。在标量上下文中使用时,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