|
>>4889 68user ありがとうございます。 |
|
perlの使い方なのですが、 日付と時間を表示する簡単なものを作りました。 実行したら動いたのですが、ところが、下記のような メッセージが出ました。 ------------------------------------------------------------ perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LC_ALL = (unset), LANG = "ja_JP.PCK" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). ------------------------------------------------------------ このメッセージを表示させないようにするには、どうしたらよいか 教えてください。 環境は、Solari8 以下、perlのシェルスクリプト ------------------------------------------------------------ #!/usr/local/bin/perl # ($day, $mon, $year) = (localtime(time))[3..5]; printf("Today : %04d/%02d/%02d\n",$year+1900,$mon +1,$day); ($sec, $min, $hour) = (localtime(time))[0..2]; printf("Time : %02d:%02d:%02d\n",$hour,$min,$sec); ------------------------------------------------------------ |
|
>>4889 68user なるほど。ここらへんはzipやrarなどと比べると不便ですね。 ありがとうございました。 |
|
>>4891 べた 「perl: warning: Setting locale failed」で検索すれば出てきますが、 環境変数 PERL_BADLANG を設定することで回避可能です。詳細は検索願います。 |
|
>4889 ありがとうございます。ヤフーのオークション で見てみます。 |
|
>>4893 68user ありがとうございます。 perlのスクリプトを実行時のみ有効にしたいのです。 perlのスクリプト内で記述する場合はどのように 定義すればよいのですか。 |
|
>>4895 べた perl コンパイルの際の Configure 時に設定する方法があります。 それが無理なら #!/bin/sh PERL_BADLANG=0 /foo/bar/baz.pl と wrapper を作るか、env コマンドで #!/usr/bin/env PERL_BADLANG=0 /usr/local/bin/perl とする手もあります。 |
|
>>4896 68user ありがとうございます。 #!/usr/bin/env PERL_BADLANG=0 /usr/local/bin/perl # とperlのスクリプト内に記述して、実行したのですが、 処理がとまったというか、何も応答が返ってきません。 |
|
>>4897 べた なるほど FreeBSD 5.2.1-RELEASE では動きますが、Linux では確かに 無限ループしてますねぇ。 > #!/usr/bin/env PERL_BADLANG=0 /usr/local/bin/perl これは FreeBSD 5.2.1-RELEASE では /usr/bin/env PERL_BADLANG=0 /usr/local/bin/perl ./hoge と解釈されますが、Linux や Solaris では /usr/bin/env "PERL_BADLANG=0 /usr/local/bin/perl" ./hoge となるため PERL_BADLANG="0 /usr/local/bin/perl" という環境変数が設定されつつ /usr/bin/env ./a が実行されるものの、./hoge のシェバング行にはまた同じ内容が 書かれているため、永遠に execve("./a"); が実行されるということですね。 参考: http://x68000.q-e-d.net/~68user/unix/pickup?%A5%B7%A5%A7%A5%D0%A5%F3%A5%B0 の Tips.2 というわけで env コマンドを使うやり方は移植性がありませんでしたが、 #!/bin/sh PERL_BADLANG=0 /foo/bar/baz.pl なら動くと思います。Linux では動きました。 |
|
>> 4898 > #!/bin/sh > PERL_BADLANG=0 /foo/bar/baz.pl >なら動くと思います。Linux では動きました。 で動きました。 色々とありがとうございました。 |
|
さきほどお問い合わせページよりご指摘いただきました、ジャンル一覧リンク切れの件、 修正しました。ご指摘ありがとうございます>連絡いただいた方 |