wikiprep语法错误:不推荐使用编码pragma

时间:2014-08-01 05:45:13

标签: perl mediawiki zemanta

我正在尝试使用wikiprep(https://github.com/avian2/wikiprep)来解析维基百科转储(2014年2月)并从转储中生成XXX.hgw.xml文件。

我在上面的Github网站上使用了:安装了所有Perl模块作为先决条件;成功构建并安装wikiprep(wikiprep程序出现在perl5 / bin目录中)。当我执行wikiprep时,它会说:

  

Use of the encoding pragma is deprecated at /home/tutran/perl5/bin/wikiprep line 32. Use of the encoding pragma is deprecated at /home/tutran/perl5/lib/perl5/Wikiprep/languages.pm line 7. syntax error at /home/tutran/perl5/lib/perl5/Wikiprep/Disambig.pm line 9, near "->import qw/ extractWikiLinks /" Compilation failed in require at /home/tutran/perl5/bin/wikiprep line 52. BEGIN failed--compilation aborted at /home/tutran/perl5/bin/wikiprep line 52.

第9行:

Wikiprep::Link->import qw/ extractWikiLinks /;

预期输出:我可以使用wikiprep的选项。我也无法对该程序进行测试。我在Ubuntu 14.04 LTS上安装了它。我的Perl版本是5.18.02。

我对perl语言一无所知,所以我无法对#34;语法错误做任何事情"这里!

2 个答案:

答案 0 :(得分:1)

您可能需要在脚本中启用ut8。在开始使用此模块之前,请先说明这两行:

use utf8;
use open qw( :encoding(cp866) :std );

答案 1 :(得分:1)

在/ usr / local / bin / wikiprep中更改第135行(Wikiprep :: Templates-> import qw(%templates includeTemplates);)to: Wikiprep :: Templates-> import(qw(%templates includeTemplates));

和 在文件中  /usr/local/share/perl/5.18.2/Wikiprep/Disambig.pm 更改  Wikiprep :: Link-> import qw / extractWikiLinks /;至 Wikiprep :: Link-> import(qw / extractWikiLinks /);