我们有下面的片段,
dbmopen(%NEWHASHTABLE,"$hashFile",$mode);
散列文件如下所示
1:- D:/Interwoven/TeamSite/local/config/PublicWeb/modules/ModuleLightingECatalogueSection--publicweb_lighting--main--shared--STAGING.db
2:- D:/Interwoven/TeamSite/local/config/PublicWeb/modules/ModuleLightingECatalogueSection--publicweb_lighting--main--webdevelopment--WORKAREA--w-main.db
模式是666。
当我尝试从哈希表(%NEWHASHTABLE)中提取数据时,我发现其中没有数据。
你能建议一下可以添加什么吗?
在我们以前的teamsite版本中,同样的代码也在工作,但是在新版本中却不起作用。
发布于 2014-10-28 15:52:39
您的代码段应该包括错误检查。你在检查错误,对吗?
dbmopen(%NEWHASHTABLE, "$hashFile", $mode) or die "Can't open $hashfile: $!";如果您没有检查错误,并且没有启用use strict,那么在dbmopen失败后将有一个空哈希。
--------------- 2014-10-31 Updates-------------------------
我在您的代码片段中没有看到use DB_File,所以考虑到Perl将假设您提供的文件名是dbm文件的名称(没有.pag或.dir扩展名),您的程序试图打开您提供的文件名是dbm文件的名称(没有.pag或.dir扩展名)。
因此,首先,我们需要知道您正在尝试使用的DBM文件的样式。在DBM文件上运行档案(1)命令并报告它的内容将是有帮助的。
https://stackoverflow.com/questions/26608155
复制相似问题