locale
СОДЕРЖАНИЕ
ИМЯ
locale - Perl-pragma для использования или исключения POSIX-локали для встроенных операций
ПРЕДУПРЕЖДЕНИЕ
НЕ ИСПОЛЬЗУЙТЕ это pragma в скриптах, в которых активны несколько потоков. Локаль не является локальной для одного потока. Другой поток может изменить локаль в любой момент, что может привести, как минимум, к тому, что данный поток работает в локали, в которой он не ожидает находиться. На некоторых платформах могут также возникнуть ошибки сегментации. Изменение локали необязательно должно быть явным; некоторые операции заставляют Perl изменить локаль сам. Вы уязвимы просто из-за выполнения "use locale".
СИНТАКСИС
@x = sort @y; # Native-platform/Unicode code point sort order
{
use locale;
@x = sort @y; # Locale-defined sort order
}
@x = sort @y; # Native-platform/Unicode code point sort order
# again ОПИСАНИЕ
Это pragma сообщает компилятору включить (или отключить) использование POSIX-локалей для встроенных операций (например, LC_CTYPE для регулярных выражений, LC_COLLATE для сравнения строк и LC_NUMERIC для форматирования чисел). Каждое "use locale" или "no locale" влияет на операторы до конца вложенного блока.
См. perllocale для более подробной информации о том, как Perl поддерживает локали.
На системах, в которых нет локалей, это pragma заставит ваши операции работать так, как будто они находятся в локали "C"; попытки изменить локаль завершатся неудачей.
© 1993–2021 Larry Wall and others
Licensed under the GNU General Public License version 1 or later, or the Artistic License.
The Perl logo is a trademark of the Perl Foundation.
https://perldoc.perl.org/5.36.0/locale