Синтаксическая ошибка wikiprep: использование прагмы кодирования не рекомендуется

Я пытаюсь использовать wikiprep ( https://github.com/avian2/wikiprep) для анализа дампа википедии (в феврале 2014 года) и создания файла 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, поэтому я ничего не могу сделать с "синтаксической ошибкой" здесь!

2 ответа

Возможно, вам понадобится включить ut8 в вашем скрипте. Поместите эти две строки, прежде чем начать использовать этот модуль:

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

В /usr/local/bin/ wikiprep изменить строку 135 ie (Wikiprep::Templates->import qw( %templates includeTemplates);) в: Wikiprep::Templates->import(qw( % шаблонов includeTemplates));

и в файле /usr/local/share/perl/5.18.2/Wikiprep/Disambig.pm измените Wikiprep::Link->import qw/ extractWikiLinks /; в Wikiprep::Link->import(qw/ extractWikiLinks /);

Другие вопросы по тегам