Вопрос

Мне нужно использовать символы utf-8 в моей документации Perl.Если я использую:

perldoc MyMod.pm

Я вижу странных персонажей.Если я использую:

pod2text MyMod.pm

всё хорошо.

Я использую Ubuntu/Debian.

$ locale
LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=de_DE.UTF-8

Есть ли инструкция по использованию специальных символов в Pod?

Вот небольшой пример использования немецких умлаутов «Просто проверка:äöüßÄÖ":

$ perldoc perl/MyMod.pm
<standard input>:72: warning: can't find character with input code 159
<standard input>:72: warning: can't find character with input code 150
MyMod(3)              User Contributed Perl Documentation             MyMod(3)

NAME
        MyMod.pm - Just a Test: äöüÃÃÃ

perl v5.10.0                      2008-10-16                          MyMod(3)
Это было полезно?

Решение

Использовать =encoding utf-8 в качестве первой директивы POD в вашем файле и используйте довольно недавнюю директиву perldoc (например с 5.10-maint).Тогда это должно сработать.

Другие советы

Нашел этот билет RT.... http://rt.cpan.org/Public/Bug/Display.html?id=39000

Эта «ошибка», кажется, появилась в Perl 5.10, и, возможно, необходимо использовать этот pod2man --utf8.

perldoc -t MyMod.pm

Из руководства по perldoc:

-t Отображать модуль с использованием pod2text вместо Pod::Man и groff (-t используется по умолчанию в Win32, если не указан -n)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top