Perlスクリプトのexe化③

さて、動作確認はできたので、手持ちのスクリプトをexe化することにとりかかったのだけれど、このスクリプトはcp932形式のCSVファイルをタブ区切りのUTF8形式に変換する、というものである。

ここで文字コード関連で結構はまった。未だにすっきりと理解はしていないけれど、まずスクリプト自体の文字コードが何かということが問題となる。次にファイル読み込み時、標準出力時の文字コードは何か、ということが問題になり、しかも文字コードを変換するパッケージを使って変換しても、途中の文字コードモード(?)によっては正常に変換されない。

さらに、WindowsでもmacOSでも使うスクリプトなので、エラーメッセージなどは環境に合わせて出力しなくてはならない。

ネットで調べてもサイトによって微妙に異なる書き方をしているのがどうにもよくわからないのだけれど最終的にはmacOS上でもWindows上でも正常に動き、Windows上ではexe化したものが実行できた。