locale − Perl pragma to use or avoid POSIX locales for built−in operations
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.
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.