Подтвердить что ты не робот

Почему perldoc оценивает "Münster" как "Muenster"

У меня есть простой текстовый файл POD:

$ cat test.pod 
=encoding UTF-8

Münster

Он кодируется в UTF-8 в соответствии с этим шестнадцатеричным дампом файла:

00000000  3d 65 6e 63 6f 64 69 6e  67 20 55 54 46 2d 38 0a  |=encoding UTF-8.|
00000010  0a 4d c3 bc 6e 73 74 65  72 0a                    |.M..nster.|
0000001a

"ü" кодируется как два байта C3 и BC.

Но когда я запускаю perldoc в файле, он превращает мои симпатичные форматированные символы UTF-8 в ASCII.

Что еще, он правильно обрабатывает соглашение немецкого языка о представлении "ü" как "ue".

$ perldoc test.pod | cat
TEST(1)               User Contributed Perl Documentation              TEST(1)

Muenster

perl v5.16.3                      2014-06-10                           TEST(1)

Почему это делается?

Есть ли еще одно объявление, которое я могу поместить в свой файл, чтобы остановить его?


После дополнительного исследования с помощью App::perlbrew я обнаружил, что разница связана с конкретной версией Pod:: Perldoc.

perl-5.10.1    3.14_04    Muenster
perl-5.12.5    3.15_02    Muenster
perl-5.14.4    3.15_04    Muenster
perl-5.16.2    3.17       Münster
perl-5.16.3    3.19       Muenster
perl-5.16.3    3.17       Münster
perl-5.17.3    3.17       Münster
perl-5.18.0    3.19       Muenster
perl-5.18.1    3.23       Münster

Однако я по-прежнему хотел бы, по возможности, сделать "правильно" Pod:: Perldoc 3.14, 3.15 и 3.19.

4b9b3361

Ответ 1

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

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

Также см.: Как я могу использовать символы Unicode в man-страницах Perl POD? и неправильное поведение perldoc с текстами UTF-8.

Вы должны добавить последнюю версию Pod:: Perldoc в качестве зависимости.