NAME
locale - Perl pragma to use or avoid POSIX locales for built-in operations
SYNOPSIS
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 usefuluse 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 operationsuse locale ':!numeric'; # Use the locale for everything but# numeric-related operationsuse locale ':not_numeric'; # Sameno 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.