Spec-Zone.ru › Perl 5.32

локализация

СОДЕРЖАНИЕ

  • ИМЯ
  • ПРЕДУПРЕЖДЕНИЕ
  • СИНОПС
  • ОПИСАНИЕ

ИМЯ

locale - Perl-прагма для использования или избегания POSIX-локалей для встроенных операций

ПРЕДУПРЕЖДЕНИЕ

НЕ ИСПОЛЬЗУЙТЕ эту прагму в скриптах, в которых активны несколько потоков. Локализация не локальна для одного потока. Другой поток может изменить локаль в любое время, что может привести как минимум к тому, что данный поток работает в локали, в которой он не ожидает находиться. На некоторых платформах также могут возникать ошибки сегментации. Изменение локали необязательно должно быть явным; некоторые операции заставляют 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

ОПИСАНИЕ

Эта прагма сообщает компилятору включить (или отключить) использование POSIX-локалей для встроенных операций (например, LC_CTYPE для регулярных выражений, LC_COLLATE для сравнения строк и LC_NUMERIC для форматирования чисел). Каждый «использовать локаль» или «не использовать локаль» влияет на инструкции до конца вложенного БЛОКА.

См. perllocale для получения более подробной информации о том, как Perl поддерживает локали.

На системах, на которых нет локалей, эта прагма заставит ваши операции вести себя так, как будто они находятся в локали «C»; попытки изменить локаль завершатся неудачей.

© 1993–2020 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.32.0/locale

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API