Perlの警告?について

ターミナルでperlコマンドを入力すると、以下の警告?が出ました。
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").
とりあえずsyntax OKとは出るし、スクリプトも動作するのですが...。
最近X11関係のソフトなどインストールして色々遊んでいたのですが、
それらが原因なのでしょうか?
環境はeMac、OSは最新(10.3.8)で、先日のiPod関連やセキュリティ
アップデートなど入れました。
ここしばらくPerlコマンドを叩いていなかったもので、何が原因で
いつからこの警告が出るようになっていたのかわからない状況です。
放っておいてもいいんでしょうか?

投稿日 2005/02/27 10:16

返信: 4

2005/02/27 14:18 Community User への返信

この警告は、設定されているロケールが不正だというものです。
>LANG = "ja_JP.EUC"
があやしいですね。設定するとしたら ja_JP.EUC_JP とか jp_JP.UTF-8 が正しいでしょう。特に、Mac OS X だと後者がいいと思います。
具体形には、.bashrc などで
export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8
と設定すれば警告がなくなるはずです。

2005/02/27 17:29 Community User への返信

targzさん、ありがとうございます。
ご指摘の通り.bashrcファイルを編集しようとしたのですが、見つかりませんでした。
そこでpicoを起動してtargzさんのいう通りの2行を書いてホームに新たに.bashrcを
作成。念のためにマシンを再起動して再度ターミナルで perl -v を入力してみました
が変わらず。バージョン表記の前に例の警告が出てしまいました...。
それで、X11関連のソフトをインストールした時の雑誌をもう一度読み返し、ja_JP.EUC
と入力したあたりを調べなおしました。
その雑誌ではProperty List Editorというアプリケーションでenvironment.plistと
いうファイルを作り、ホームに新たに.MacOSXというディレクトリを作ってその中に
そのファイルを移動しているのですが、そのファイルを再度Property List Editorで
開いて、LANGの部分をja_JP.EUCからja_JP.UTF-8と変更してみました。それでマシン
再起動後(ログアウトだけでいいのかな?)、やっと例の警告が出なくなりました...。
この間、実は色々とエディターで編集とかしてるんで、何が好原因でなおったのか
あまり自信なく...。environment.plistをなおしたからなのか、はたまた別ファイル
をいじったのか...いじってもだめだったファイルは元に戻したつもりですが...。
素人が色々手を出す領域ではありませんね。
targzさんのご指摘がなければ何から手を付けていいのか見当すらつきませんでした。
本当にありがとうございます。

2005/03/03 08:11 Community User への返信

今日、finkのアップデートをしたところ同様のエラーが出るようになったので
「perl LANG ja_JP.EUC fink」でググったところ参考になりそうな部分を見つけました。
http://homepage3.nifty.com/toshi3/x11_2.html
日本語環境でPerlスクリプトを実行すると出る警告メッセージですが
単なる警告なので無視してもいいそうです。どうしても気になるのであれば
$HOME/.MacOSX/environment.plistで、環境変数「PERL_BADLANG」に「0」を設定すればいいとのこと。
そのようにして、私のところでは警告が出なくなりました。
一応参考まで (^^)

2005/03/03 11:53 Community User への返信

>環境変数「PERL_BADLANG」に「0」を設定すればいいとのこと。
個人的には、この設定はおすすめしません。
Perl で日本語文字列を操作しないのなら設定してもいいですが、日本語文字列を操作するなら、ロケールによって結果が変わる可能性があるからです。
ロケールの設定をきちんとするのはそんなに困難ではないので、警告を消してごまかすのは、どうにもラチがあかない場合の最後の手段でしょうね。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

Perlの警告?について

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。