FreeBSD/Perl の変更点
*&SIZE(15){''Perl''}; [#p76f2332]
#contents
標準インストールでインストールした場合、perlを実行するたび~
に警告メッセージが発せられるのを抑止する。~
こんな警告メッセージが出ます。
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LC_ALL = (unset),
LANG = "ja_JP.ujis"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
**''環境'' [#qfbe69d4]
OS FreeBSD5.4
Perl Perl5.8.6
**''対処'' [#t0c1e65a]
環境変数 PERL_BADLANG を設定することで抑制することができる
-csh 系: setenv PERL_BADLANG 0
-sh 系: PERL_BADLANG=0; export PERL_BADLANG
-もしくは ./Configure -U d_setlocale してから make しましょう.
$ vi ~/.cshrc
------------追加分------------------
setenv PERL_BADLANG 0
------------追加分------------------
$ vi ~/.bash_profile
------------追加分------------------
PERL_BADLANG=0; export PERL_BADLANG
------------追加分------------------
**BIOS画面での時間と、OS内の時間が違っていた場合こんなエラーがでてperlがうまく使えません。 [#w1657f5e]
==> Your Makefile has been rebuilt. <==
==> Please rerun the make command. <==
false
*** Error code 1
***BIOSの時間を合わせて、perlを入れ直せばOK [#a1f8b888]
# cd /usr/ports/lang/perl5.8
# make deinstall
# make reinstall
**原因は? [#g392d333]
(多分) perlは起動時に LC_ALL, LC_CTYPE, LANG を検査する。
上の例では ja_JP.eucJP が設定されているので、
/usr/share/local/ja_JP.eucJP 以下を捜査するが、
対応するファイルが LC_CTYPEしかない。
% ls /usr/share/locale/ja_JP.eucJP
LC_CTYPE
試しに、LC_ALL, LANGを unsetenv して試すとwarningは出ない。
黙らすには3つの方法がある。
1番 /usr/share/locale の適切な場所に LC_ALL, LANGのカタログを作る
2番 perlとしては LC_CTYPEだけ設定してればよいので、他をunsetenvする
3番 % setenv PERL_BADLANG 0