Ho un semplice file di testo POD:Perché perldoc valutare 'Münster' come 'Münster'
$ cat test.pod
=encoding UTF-8
Münster
è codificato in UTF-8, di cui al presente letterale esadecimale del file:
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
Il "ü" viene codificato come i due byte C3 e BC.
Ma quando eseguo perldoc
nel file, i miei caratteri UTF-8 sono convertiti in ASCII.
Inoltre, gestisce correttamente la convenzione di lingua tedesca che rappresenta "ü" come "ue".
$ perldoc test.pod | cat
TEST(1) User Contributed Perl Documentation TEST(1)
Muenster
perl v5.16.3 2014-06-10 TEST(1)
Perché sta facendo questo?
Esiste una dichiarazione aggiuntiva che posso inserire nel mio file per impedirlo?
Dopo ulteriore indagine con App::perlbrew
ho trovato la differenza deriva dall'avere una particolare versione di 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
Tuttavia mi piace ancora, se possibile, un modo per rendere Pod :: perldoc 3.14, 3.15, 3.19 e comportarsi "in modo corretto".
Interessante che secondo https://metacpan.org/source/MALLEN/Pod-Perldoc-3.23/Changes RT # 39000 è stato corretto in 3.15_12 ma vedo una regressione in 3.19. – Kaoru
La soluzione su cui ho optato per aggiungere 'Pod :: Perldoc 3.21' come dipendenza, che dovrebbe garantire che chiunque usi il modulo abbia una versione abbastanza recente di' perldoc' per leggere effettivamente il POD! – Kaoru
Sì, qualcosa di strano sta cucinando lì. Usare l'ultima versione è quello che posso suggerire. –