获取perl中的当前区域设置名称

时间:2013-03-07 14:35:20

标签: perl posix locale

我想在Perl中使用thousands_sep。我可以使用以下代码获取它

use strict;
use POSIX qw(setlocale locale_h LC_ALL);
setlocale(LC_ALL, "fr_FR");
my $lc=localeconv();
print $lc->{thousands_sep};

之后我想将语言环境更改回以前的值,但在使用setlocale之前我不知道如何获取语言环境。我应该从设置为的$ENV{LANG}解析它 en_US.UTF-8?或者是否有其他方法来获取区域设置名称?

1 个答案:

答案 0 :(得分:4)

在没有第二个参数的情况下调用时,

setlocale()返回当前语言环境,例如

my $oldlocale = setlocale(LC_ALL);

如果要根据当前环境设置区域设置,请使用空字符串(即"")调用它。