環境

OS:WindowsXP

Perl:5.8.8


perlのXML::DOMモジュールは標準ではShift-JIS,EUC文字列XMLファイルを扱うことができません。


恐らく、実行すると下のようなエラーが出ると思います。


・Shift-JISの場合

>perl xmlParse
Couldn't open encmap shift_jis.enc:
No such file or directory
at D:/Perl/lib/XML/Parser.pm line 187


・EUCの場合

>perl xmlParse
Couldn't open encmap euc-jp.enc:
No such file or directory
at D:/Perl/lib/XML/Parser.pm line 187


このエラーは、XML::DOMがXMLの解析に利用するXML::ParserモジュールがShift-JIS,EUCからUTF-8への変換に対応してないからです。


対処方法は、この変換処理を記述したファイルを用意することです。


こちらのサイトからshift_jis.euc,euc-jp.eucファイルを


D:\Perl\lib\XML\Parser\Encoding


フォルダにコピーすればオッケーです(フォルダパスは人それぞれ)


再度実行して正常に動作することを確認しました。