---
name: "locale"
section: "3perl"
platform: "linux"
package: "perl"
version: "5.44.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/locale/3perl"
---

# locale(3perl)

Perl pragma to use or avoid POSIX locales for built-in operations

## 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 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.
