我只需要找出我在这个哈希中有多少元素,我正在查看文档但是唯一可能给我这个的是db_stat,并且它下面有一个TODO。
http://search.cpan.org/dist/BerkeleyDB/BerkeleyDB.pod#Using_db_stat
除了创建游标并解析整个事物之外,我怎么能看到哈希中有多少个键呢?
答案 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
。