```{index} single: locale (pragma) ``` # locale Perl pragma to use or avoid POSIX locales for built-in operations ## SYNOPSIS ```perl my @x1 = sort @y; # Native-platform/Unicode code point sort order { use locale; my @x2 = sort @y; # Locale-defined sort order } my @x3 = sort @y; # Native-platform/Unicode code point sort order # again ## Parameters to the pragma are to work around deficiencies in locale ## handling that have since been fixed, and hence these are likely no ## longer useful use locale qw(:ctype :collate); # Only use the locale for character # classification (\w, \d, etc.), and # for string comparison operations # like '$a le $b' and sorting. use locale ':not_characters'; # Use the locale for everything but # character classification and string # comparison operations use locale ':!numeric'; # Use the locale for everything but # numeric-related operations use locale ':not_numeric'; # Same no locale; # Turn off locale handling for the remainder of # the scope. ``` ## DESCRIPTION This pragma tells the compiler to enable (or disable) the use of POSIX locales for built-in operations (for example, `LC_CTYPE` for regular expressions, `LC_COLLATE` for string comparison, and `LC_NUMERIC` for number formatting). Each `use locale` or `no locale` affects statements to the end of the enclosing BLOCK. The pragma is documented as part of [perllocale](core/perllocale.md).