我的任务是将镜像映射到新服务器上。旧网站有几个Perl脚本,就我所能看到的内部而言(我对Perl一无所知,尽管我对编码有很好的理解,特别是PHP/js /等)不依赖于旧的服务器。也就是说,当我尝试运行这个脚本时,它通过查找数据库文件来查找适当的文章文件,但它不检索任何内容。移动一个perl脚本/ dbm到一个新的服务器,并移出dbm?
基本上,这是一个基本的旧的CMS,我解释它,它在那里搜索PAG文件的文件名并显示它。我有点迷失在这里。是否有一个原因,为什么镜像不适用于新网站?我检查了权限,我检查了Perl安装在相同的目录下。我觉得它使用DBM因为,according to another article,如果我看到这样的命令:
dbmopen(%ARTS, $art_dbm, 0644);
$entry = $ARTS{$article_id};
dbmclose(%ARTS);
它必须是DBM,对不对?
在相关说明中,是否有任何方法可以将PAG文件的信息与原始文件合并,而无需使用难以置信的复杂Perl脚本;即使用文件本身的信息重新创建100个文本文件,而不是单独存储?
编辑:感谢下面的第一个答案。你能解释一下HASH可能是什么,以及面具吗?我已经重新检查.pag文件(数据库名称)的确在前面在.pl文件中定义的位置,并且它是以二进制形式传输的。但不知何故,我不能让它正确地打开它!
编辑3:好了,对不起,这是最后编辑:我使用的模具下面的代码(Shwern),发现它没有发现DB文件,尽管它在那里(两个文件articles.pag和文章。目录,但变量只引用“文章”没有扩展名)在正确的目录和正确的权限...所以,这里的问题是现在到底是怎么回事?这些是不同版本的Perl吗?或者我只是在做一些基本和愚蠢的事情?为了记录(是的,它的可怕)我还没有shell访问,虽然我正在处理它...我被要求这样做,因为我的“新网络”技能,我当然不是合适的像perl和dbm之类的人,尽管我可以读取这些文件并理解它们。作为最终的建议,有没有人知道(一个脚本或类似的东西)我可以问原始的服务器人员(谁不是编码人员)做这个ASCII转储,或者是不符合要求?我需要将其转换为CSV并返回到文件中,以便我可以在另一个数据库中重复使用它......呃真是一场噩梦!