Синтаксическая ошибка 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 /);