SILENT KILLERPanel

Current Path: > > > > usr > share > perl5


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: ////usr/share/perl5

NameTypeSizeLast ModifiedActions
Attribute Directory - -
B Directory - -
CPAN Directory - -
Class Directory - -
Compress Directory - -
Config Directory - -
DBM_Filter Directory - -
Devel Directory - -
ExtUtils Directory - -
File Directory - -
Getopt Directory - -
I18N Directory - -
IO Directory - -
IPC Directory - -
Locale Directory - -
Math Directory - -
Memoize Directory - -
Module Directory - -
Net Directory - -
Pod Directory - -
Search Directory - -
Term Directory - -
Text Directory - -
Thread Directory - -
Tie Directory - -
Time Directory - -
URI Directory - -
Unicode Directory - -
User Directory - -
encoding Directory - -
overload Directory - -
pod Directory - -
unicore Directory - -
vendor_perl Directory - -
warnings Directory - -
AnyDBM_File.pm File 2618 bytes July 28 2025 08:07:09.
AutoLoader.pm File 15797 bytes July 28 2025 08:07:09.
AutoSplit.pm File 19637 bytes July 28 2025 08:07:09.
Benchmark.pm File 31025 bytes July 28 2025 08:07:09.
CORE.pod File 3188 bytes July 28 2025 08:07:09.
DB.pm File 18922 bytes July 28 2025 08:07:09.
DBM_Filter.pm File 14385 bytes July 28 2025 08:07:09.
DirHandle.pm File 1556 bytes July 28 2025 08:07:09.
Dumpvalue.pm File 17556 bytes July 28 2025 08:07:09.
English.pm File 4761 bytes July 28 2025 08:07:09.
FileCache.pm File 5572 bytes July 28 2025 08:07:09.
FileHandle.pm File 6784 bytes July 28 2025 08:07:09.
FindBin.pm File 4561 bytes July 28 2025 08:07:09.
Internals.pod File 2576 bytes July 28 2025 08:07:09.
Memoize.pm File 36192 bytes July 28 2025 08:08:32.
NEXT.pm File 18846 bytes July 28 2025 08:07:09.
PerlIO.pm File 10459 bytes July 28 2025 08:07:09.
Safe.pm File 25082 bytes July 28 2025 08:07:09.
SelectSaver.pm File 1076 bytes July 28 2025 08:07:09.
SelfLoader.pm File 17692 bytes July 28 2025 08:08:32.
Symbol.pm File 4799 bytes July 28 2025 08:07:09.
Test.pm File 30057 bytes July 28 2025 08:08:32.
Thread.pm File 8287 bytes July 28 2025 08:07:09.
UNIVERSAL.pm File 6594 bytes July 28 2025 08:07:09.
URI.pm File 34790 bytes January 09 2018 06:42:55.
XSLoader.pm File 11267 bytes July 28 2025 08:07:09.
_charnames.pm File 33166 bytes July 28 2025 08:07:09.
autouse.pm File 4238 bytes July 28 2025 08:07:09.
base.pm File 10980 bytes July 28 2025 08:07:09.
blib.pm File 2086 bytes July 28 2025 08:07:09.
bytes.pm File 3754 bytes July 28 2025 08:07:09.
bytes_heavy.pl File 758 bytes July 28 2025 08:07:09.
charnames.pm File 20867 bytes July 28 2025 08:07:09.
deprecate.pm File 3079 bytes July 28 2025 08:07:09.
diagnostics.pm File 19038 bytes July 28 2025 08:07:09.
dumpvar.pl File 15555 bytes July 28 2025 08:07:09.
feature.pm File 17085 bytes July 28 2025 08:07:09.
fields.pm File 9489 bytes July 28 2025 08:07:09.
filetest.pm File 4003 bytes July 28 2025 08:07:09.
if.pm File 3340 bytes July 28 2025 08:07:09.
integer.pm File 3254 bytes July 28 2025 08:07:09.
less.pm File 3204 bytes July 28 2025 08:07:09.
locale.pm File 4855 bytes July 28 2025 08:07:09.
meta_notation.pm File 2117 bytes July 28 2025 08:07:09.
open.pm File 8021 bytes July 28 2025 08:08:32.
overload.pm File 53314 bytes July 28 2025 08:07:09.
overloading.pm File 1808 bytes July 28 2025 08:07:09.
perl5db.pl File 316420 bytes July 28 2025 08:07:09.
sigtrap.pm File 7606 bytes July 28 2025 08:07:09.
sort.pm File 6081 bytes July 28 2025 08:07:09.
strict.pm File 4738 bytes July 28 2025 08:07:09.
subs.pm File 848 bytes July 28 2025 08:07:09.
utf8.pm File 9116 bytes July 28 2025 08:07:09.
utf8_heavy.pl File 31615 bytes July 28 2025 08:07:09.
vars.pm File 2414 bytes July 28 2025 08:07:09.
vmsish.pm File 4313 bytes July 28 2025 08:07:09.
warnings.pm File 44756 bytes July 28 2025 08:07:09.

Reading File: ////usr/share/perl5/locale.pm

package locale;

our $VERSION = '1.09';
use Config;

$Carp::Internal{ (__PACKAGE__) } = 1;

=head1 NAME

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

=head1 WARNING

DO NOT USE this pragma in scripts that have multiple
L<threads|threads> active.  The locale is not local to a single thread.
Another thread may change the locale at any time, which could cause at a
minimum that a given thread is operating in a locale it isn't expecting
to be in.  On some platforms, segfaults can also occur.  The locale
change need not be explicit; some operations cause perl to change the
locale itself.  You are vulnerable simply by having done a C<"use
locale">.

=head1 SYNOPSIS

    @x = sort @y;      # Native-platform/Unicode code point sort order
    {
        use locale;
        @x = sort @y;  # Locale-defined sort order
    }
    @x = sort @y;      # Native-platform/Unicode code point sort 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.

On systems that don't have locales, this pragma will cause your operations
to behave as if in the "C" locale; attempts to change the locale will fail.

=cut

# A separate bit is used for each of the two forms of the pragma, to save
# having to look at %^H for the normal case of a plain 'use locale' without an
# argument.

$locale::hint_bits = 0x4;
$locale::partial_hint_bits = 0x10;  # If pragma has an argument

# The pseudo-category :characters consists of 2 real ones; but it also is
# given its own number, -1, because in the complement form it also has the
# side effect of "use feature 'unicode_strings'"

sub import {
    shift;  # should be 'locale'; not checked

    $^H{locale} = 0 unless defined $^H{locale};
    if (! @_) { # If no parameter, use the plain form that changes all categories
        $^H |= $locale::hint_bits;

    }
    else {
        my @categories = ( qw(:ctype :collate :messages
                              :numeric :monetary :time) );
        for (my $i = 0; $i < @_; $i++) {
            my $arg = $_[$i];
            $complement = $arg =~ s/ : ( ! | not_ ) /:/x;
            if (! grep { $arg eq $_ } @categories, ":characters") {
                require Carp;
                Carp::croak("Unknown parameter '$_[$i]' to 'use locale'");
            }

            if ($complement) {
                if ($i != 0 || $i < @_ - 1)  {
                    require Carp;
                    Carp::croak("Only one argument to 'use locale' allowed"
                                . "if is $complement");
                }

                if ($arg eq ':characters') {
                    push @_, grep { $_ ne ':ctype' && $_ ne ':collate' }
                                  @categories;
                    # We add 1 to the category number;  This category number
                    # is -1
                    $^H{locale} |= (1 << 0);
                }
                else {
                    push @_, grep { $_ ne $arg } @categories;
                }
                next;
            }
            elsif ($arg eq ':characters') {
                push @_, ':ctype', ':collate';
                next;
            }

            $^H |= $locale::partial_hint_bits;

            # This form of the pragma overrides the other
            $^H &= ~$locale::hint_bits;

            $arg =~ s/^://;

            eval { require POSIX; import POSIX 'locale_h'; };

            # Map our names to the ones defined by POSIX
            my $LC = "LC_" . uc($arg);

            my $bit = eval "&POSIX::$LC";
            if (defined $bit) { # XXX Should we warn that this category isn't
                                # supported on this platform, or make it
                                # always be the C locale?

                # Verify our assumption.
                if (! ($bit >= 0 && $bit < 31)) {
                    require Carp;
                    Carp::croak("Cannot have ':$arg' parameter to 'use locale'"
                              . " on this platform.  Use the 'perlbug' utility"
                              . " to report this problem, or send email to"
                              . " 'perlbug\@perl.org'.  $LC=$bit");
                }

                # 1 is added so that the pseudo-category :characters, which is
                # -1, comes out 0.
                $^H{locale} |= 1 << ($bit + 1);
            }
        }
    }

}

sub unimport {
    $^H &= ~($locale::hint_bits|$locale::partial_hint_bits);
    $^H{locale} = 0;
}

1;

SILENT KILLER Tool