Ответ 1
Используйте =encoding utf-8
в качестве первой директивы POD в вашем файле и используйте довольно недавний perldoc
(например, из 5.10-maint). Тогда он должен работать.
Мне нужно использовать символы 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 Показывать pod, используя pod2text вместо Pod:: Man и groff (-t - значение по умолчанию для win32, если не указано значение -n)