मैं एक साधारण पॉड पाठ फ़ाइल है:क्यों perldoc के रूप में मूल्यांकन करता है 'मंस्टर' 'म्युएन्स्टर'
$ 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
"ü" को दो बाइट्स सी 3 और बीसी के रूप में एन्कोड किया जा रहा है।
लेकिन जब मैं फ़ाइल पर perldoc
चलाता हूं तो यह मेरे सुंदर प्रारूपित यूटीएफ -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
के साथ अतिरिक्त जांच के बाद मैं अंतर पाया है पॉड का एक विशेष संस्करण :: 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 व्यवहार "सही ढंग से"।
दिलचस्प है कि https://metacpan.org/source/MALLEN/Pod-Perldoc-3.23/Changes RT # 39000 के अनुसार 3.15_12 में तय किया गया था लेकिन मुझे 3.1 9 में एक रिग्रेशन दिखाई देता है। – Kaoru
जिस समाधान पर मैं बस गया था वह निर्भरता के रूप में 'Pod :: Perldoc 3.21' को जोड़ना था, जिससे यह सुनिश्चित करना चाहिए कि मॉड्यूल का उपयोग करने वाले किसी भी व्यक्ति को वास्तव में पीओडी पढ़ने के लिए' perldoc' का पर्याप्त संस्करण है! – Kaoru
हां, वहां कुछ अजीब खाना पकाने वाला है। नवीनतम संस्करण का उपयोग करना मैं सुझाव दे सकता हूं। –