2016-07-14 9 views
0

にPerlで動作しません。次の仕事はDebianのLinux上でPerl5のための(改訂5版22転覆2)(バッシュ)(存在しないディレクトリを開くために私の試みについて、ロシア語でメッセージを出力)が行われます。ロケールは、FreeBSD

LANGUAGE=ru_RU.UTF-8 perl -Mstrict -Mwarnings -Mlocale -e 'opendir my $fh, "afdsfd"; print $!, "\n"'

しかし、FreeBSD perl5(リビジョン5バージョン20のサブバージョン3)では、メッセージを英語で出力します。なぜFreeBSDで動かないのですか? FreeBSDで


$ locale -a | grep ru 
ru_RU.CP1251 
ru_RU.CP866 
ru_RU.ISO8859-5 
ru_RU.KOI8-R 
ru_RU.UTF-8 
+0

ああ、私は 'LANGUAGE'はGNUの拡張であることがわかりました。しかし、これは私の問題を解決するものではありません。なぜなら、 'LANGUAGE'を' LC_ALL'や 'LANG'や' LC_MESSAGES'に置き換えたとしても、それは動作しません:-( – porton

答えて

0

私はKOI8-RでのFreeBSD 10.3-RELEASEの仕事上のロシア語のメッセージを見つけましたが、UTF-8では動作しません。

例:

perl -Mstrict -Mwarnings -MPOSIX -e 'setlocale(POSIX::LC_ALL, "ru_RU.KOI8-R"); opendir my $fh, "afdsfd"; print $!, "\n"' | iconv -f KOI8-R -t UTF-8