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/bytes.pm

package bytes;

our $VERSION = '1.05';

$bytes::hint_bits = 0x00000008;

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

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

sub AUTOLOAD {
    require "bytes_heavy.pl";
    goto &$AUTOLOAD if defined &$AUTOLOAD;
    require Carp;
    Carp::croak("Undefined subroutine $AUTOLOAD called");
}

sub length (_);
sub chr (_);
sub ord (_);
sub substr ($$;$$);
sub index ($$;$);
sub rindex ($$;$);

1;
__END__

=head1 NAME

bytes - Perl pragma to expose the individual bytes of characters

=head1 NOTICE

Because the bytes pragma breaks encapsulation (i.e. it exposes the innards of
how the perl executable currently happens to store a string), the byte values
that result are in an unspecified encoding.

B<Use of this module for anything other than debugging purposes is
strongly discouraged.>  If you feel that the functions here within
might be useful for your application, this possibly indicates a
mismatch between your mental model of Perl Unicode and the current
reality. In that case, you may wish to read some of the perl Unicode
documentation: L<perluniintro>, L<perlunitut>, L<perlunifaq> and
L<perlunicode>.

=head1 SYNOPSIS

    use bytes;
    ... chr(...);       # or bytes::chr
    ... index(...);     # or bytes::index
    ... length(...);    # or bytes::length
    ... ord(...);       # or bytes::ord
    ... rindex(...);    # or bytes::rindex
    ... substr(...);    # or bytes::substr
    no bytes;


=head1 DESCRIPTION

Perl's characters are stored internally as sequences of one or more bytes.
This pragma allows for the examination of the individual bytes that together
comprise a character.

Originally the pragma was designed for the loftier goal of helping incorporate
Unicode into Perl, but the approach that used it was found to be defective,
and the one remaining legitimate use is for debugging when you need to
non-destructively examine characters' individual bytes.  Just insert this
pragma temporarily, and remove it after the debugging is finished.

The original usage can be accomplished by explicit (rather than this pragma's
implict) encoding using the L<Encode> module:

    use Encode qw/encode/;

    my $utf8_byte_string   = encode "UTF8",   $string;
    my $latin1_byte_string = encode "Latin1", $string;

Or, if performance is needed and you are only interested in the UTF-8
representation:

    use utf8;

    utf8::encode(my $utf8_byte_string = $string);

C<no bytes> can be used to reverse the effect of C<use bytes> within the
current lexical scope.

As an example, when Perl sees C<$x = chr(400)>, it encodes the character
in UTF-8 and stores it in C<$x>. Then it is marked as character data, so,
for instance, C<length $x> returns C<1>. However, in the scope of the
C<bytes> pragma, C<$x> is treated as a series of bytes - the bytes that make
up the UTF8 encoding - and C<length $x> returns C<2>:

 $x = chr(400);
 print "Length is ", length $x, "\n";     # "Length is 1"
 printf "Contents are %vd\n", $x;         # "Contents are 400"
 {
     use bytes; # or "require bytes; bytes::length()"
     print "Length is ", length $x, "\n"; # "Length is 2"
     printf "Contents are %vd\n", $x;     # "Contents are 198.144 (on
                                          # ASCII platforms)"
 }

C<chr()>, C<ord()>, C<substr()>, C<index()> and C<rindex()> behave similarly.

For more on the implications, see L<perluniintro> and L<perlunicode>.

C<bytes::length()> is admittedly handy if you need to know the
B<byte length> of a Perl scalar.  But a more modern way is:

   use Encode 'encode';
   length(encode('UTF-8', $scalar))

=head1 LIMITATIONS

C<bytes::substr()> does not work as an I<lvalue()>.

=head1 SEE ALSO

L<perluniintro>, L<perlunicode>, L<utf8>, L<Encode>

=cut

SILENT KILLER Tool