summaryrefslogtreecommitdiff
path: root/lib/locale.pm
blob: 239859959566172fe3940728a067f5c5e7a7b88c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package locale;

our $VERSION = '1.01';

=head1 NAME

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

=head1 SYNOPSIS

    @x = sort @y;	# Unicode sorting order
    {
        use locale;
        @x = sort @y;   # Locale-defined sorting order
    }
    @x = sort @y;	# Unicode sorting order again

=head1 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.

See L<perllocale> for more detailed information on how Perl supports
locales.

=cut

$locale::hint_bits = 0x4;

sub import {
    $^H |= $locale::hint_bits;
}

sub unimport {
    $^H &= ~$locale::hint_bits;
}

1;