Как использовать символы Юникода в Pod и perldoc?

Мне нужно использовать символы 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

Есть ли HowTo об использовании специальных символов в Pod?

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

$ 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)

3 ответа

Решение

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

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

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

perldoc -t MyMod.pm

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

-t Показать pod, используя pod2text вместо Pod::Man и groff (-t по умолчанию на win32, если не указан -n)

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