Panther(Mac OS X 10.3)にしてから、多分設定は前のままなのにPerlを使うとき——主にこのサイトの生ログをAnalogにかけたあとのURLデコードと、xhtmlのチェックに愛用させて頂いてる
Nakamuxuさん作のCocoaアプリケーション
AHL-Runnerの結果表示のとき——に次の様な怒られてしまうようになったんです。
perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LC_ALL = (unset), LC_COLLATE = "C", LC_TIME = "C", LANG = "ja_JP.EUC" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C").
これは普通にPantherをインストールした状態では出ずに、X11の日本語環境設定のために~/.MacOSXフォルダ内にenvironment.plistなどを作って、LANGとかを"C"以外に設定すると出る模様です。
調べてみるとこれはPerlの世界では有名なものらしく、~/.bashrcとかに
PERL_BADLANG=true;export PERL_BADLANG
とするといちいち怒られなくなるようです。ちなみに csh系のシェルでは以下のようにするのだとか。
setenv PERL_BADLANG true
これでTerminalとかでPerlを走らせた場合はいちいち怒られなくなったんですが、これでもAHL-Runnerでは直らずに困ってたんです。何回もCheckボタンを押して、思い出したように何回かに一回、ちゃんと結果を表示してくれたりはするんですけれど、それではやってられないです。
色々と悩んで試してみたところ、environment.plistで設定したLANG = "ja_JP.EUC"の参照先であろう(すいません、不案内なもので……)/usr/share/locale/を見てみると、ja_JP.EUCじゃなくてja_JP.eucJPってなってるんですね。それでいちかばちかenvironment.plistの設定をLANG = "ja_JP.eucJP"にしたら完全に直りました。よかったぁ! もし同じ症状の方は試してみてください。
(追記)試しにバックアップしてあったMac OS X 10.2.8の/usr/share/localeを見てみるとja_JP.EUC/となってて、これが Pantherではja_JP.eucJPと変更されている模様なので、やっぱりこの辺りが原因かと思いますです。
(追記2)"ja_JP.EUC"じゃないと不具合がおこる可能性もあるようなので、気をつけてくださいませ。