У меня есть простой текстовый файл 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.