Есть ли способ найти список допустимых локалей в моем Linux, используя perl?

Мне нужно найти список локали, установленный/поддерживаемый в моей Linux-машине. есть ли способ найти список допустимых локалей в моем Linux, используя perl?

спасибо

Ответ 1

Эта команда даст вам список локалей:

locale -a

Из Perl script вы можете выполнить то же самое с помощью

system("locale -a");

Ответ 2

Если вам нужен список всех поддерживаемых локалей, в моем дистрибутиве Debian они находятся в /usr/share/i18n/SUPPORTED, поэтому вы можете сделать:

system("cat /usr/share/i18n/SUPPORTED");

Ответ 3

my @locale_list = `locale -a`;
chomp(@locale_list);

Ответ 4

http://perldoc.perl.org/perllocale.html#Finding-locales:

Для локалей, доступных в вашей системе, проконсультируйтесь также с setlocale (3), чтобы узнать, ведет ли он к списку доступных мест (ищите раздел SEE ALSO). Если это не удается, попробуйте выполнить следующие команды:

locale -a
nlsinfo
ls /usr/lib/nls/loc
ls /usr/lib/locale
ls /usr/lib/nls
ls /usr/share/locale

Ответ 5

если, говоря "действительные локали", вы хотите проверить, какие локали supported

затем вам нужно перейти к файлу (вы можете открыть его с помощью 'nano', чтобы проверить, есть ли он еще там)

nano /usr/share/i18n/SUPPORTED

проверено на Ubuntu 18