我有一个简单的 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 行为“正确”的方法。