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