【发布时间】:2016-11-17 05:41:27
【问题描述】:
对于 Debian Linux (Bash) 上的 perl5(修订版 5 版本 22 颠覆 2),以下内容确实有效(以俄语输出一条消息,说明我试图打开一个不存在的目录):
LANGUAGE=ru_RU.UTF-8 perl -Mstrict -Mwarnings -Mlocale -e 'opendir my $fh, "afdsfd"; print $!, "\n"'
但在 FreeBSD perl5 (revision 5 version 20 subversion 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
【问题讨论】:
-
哦,我发现
LANGUAGE是一个GNU扩展。但这并不能解决我的问题,因为用LC_ALL或LANG或LC_MESSAGES替换LANGUAGE后它也不起作用:-(