Как использовать символы Юникода в 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)