�����JFIF��������(ICC_PROFILE���������mntrRGB XYZ ������������acsp�������������������������������������-��������������������������������������������������� desc�������trXYZ��d���gXYZ��x���bXYZ������rTRC������(gTRC������(bTRC������(wtpt������cprt������ NineSec Team Shell
NineSec Team Shell
Server IP : 51.38.211.120  /  Your IP : 216.73.216.188
Web Server : Apache
System : Linux bob 5.15.85-1-pve #1 SMP PVE 5.15.85-1 (2023-02-01T00:00Z) x86_64
User : readytorun ( 1067)
PHP Version : 8.0.30
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF
Directory (0755) :  /etc/ldap/../etckeeper/../../usr/lib/x86_64-linux-gnu/lapack/../perl-base/

[  Home  ][  C0mmand  ][  Upload File  ][  Lock Shell  ][  Logout  ]

Current File : //etc/ldap/../etckeeper/../../usr/lib/x86_64-linux-gnu/lapack/../perl-base/fields.pm
use 5.008;
package fields;

require 5.005;
use strict;
no strict 'refs';
unless( eval q{require warnings::register; warnings::register->import; 1} ) {
    *warnings::warnif = sub { 
        require Carp;
        Carp::carp(@_);
    }
}
our %attr;

our $VERSION = '2.24';
$VERSION =~ tr/_//d;

# constant.pm is slow
sub PUBLIC     () { 2**0  }
sub PRIVATE    () { 2**1  }
sub INHERITED  () { 2**2  }
sub PROTECTED  () { 2**3  }

# The %attr hash holds the attributes of the currently assigned fields
# per class.  The hash is indexed by class names and the hash value is
# an array reference.  The first element in the array is the lowest field
# number not belonging to a base class.  The remaining elements' indices
# are the field numbers.  The values are integer bit masks, or undef
# in the case of base class private fields (which occupy a slot but are
# otherwise irrelevant to the class).

sub import {
    my $class = shift;
    return unless @_;
    my $package = caller(0);
    # avoid possible typo warnings
    %{"$package\::FIELDS"} = () unless %{"$package\::FIELDS"};
    my $fields = \%{"$package\::FIELDS"};
    my $fattr = ($attr{$package} ||= [1]);
    my $next = @$fattr;

    # Quiet pseudo-hash deprecation warning for uses of fields::new.
    bless \%{"$package\::FIELDS"}, 'pseudohash';

    if ($next > $fattr->[0]
        and ($fields->{$_[0]} || 0) >= $fattr->[0])
    {
        # There are already fields not belonging to base classes.
        # Looks like a possible module reload...
        $next = $fattr->[0];
    }
    foreach my $f (@_) {
        my $fno = $fields->{$f};

        # Allow the module to be reloaded so long as field positions
        # have not changed.
        if ($fno and $fno != $next) {
            require Carp;
            if ($fno < $fattr->[0]) {
              if ($] < 5.006001) {
                warn("Hides field '$f' in base class") if $^W;
              } else {
                warnings::warnif("Hides field '$f' in base class") ;
              }
            } else {
                Carp::croak("Field name '$f' already in use");
            }
        }
        $fields->{$f} = $next;
        $fattr->[$next] = ($f =~ /^_/) ? PRIVATE : PUBLIC;
        $next += 1;
    }
    if (@$fattr > $next) {
        # Well, we gave them the benefit of the doubt by guessing the
        # module was reloaded, but they appear to be declaring fields
        # in more than one place.  We can't be sure (without some extra
        # bookkeeping) that the rest of the fields will be declared or
        # have the same positions, so punt.
        require Carp;
        Carp::croak ("Reloaded module must declare all fields at once");
    }
}

sub inherit {
    require base;
    goto &base::inherit_fields;
}

sub _dump  # sometimes useful for debugging
{
    for my $pkg (sort keys %attr) {
        print "\n$pkg";
        if (@{"$pkg\::ISA"}) {
            print " (", join(", ", @{"$pkg\::ISA"}), ")";
        }
        print "\n";
        my $fields = \%{"$pkg\::FIELDS"};
        for my $f (sort {$fields->{$a} <=> $fields->{$b}} keys %$fields) {
            my $no = $fields->{$f};
            print "   $no: $f";
            my $fattr = $attr{$pkg}[$no];
            if (defined $fattr) {
                my @a;
                push(@a, "public")    if $fattr & PUBLIC;
                push(@a, "private")   if $fattr & PRIVATE;
                push(@a, "inherited") if $fattr & INHERITED;
                print "\t(", join(", ", @a), ")";
            }
            print "\n";
        }
    }
}

if ($] < 5.009) {
  *new = sub {
    my $class = shift;
    $class = ref $class if ref $class;
    return bless [\%{$class . "::FIELDS"}], $class;
  }
} else {
  *new = sub {
    my $class = shift;
    $class = ref $class if ref $class;
    require Hash::Util;
    my $self = bless {}, $class;

    # The lock_keys() prototype won't work since we require Hash::Util :(
    &Hash::Util::lock_keys(\%$self, _accessible_keys($class));
    return $self;
  }
}

sub _accessible_keys {
    my ($class) = @_;
    return (
        keys %{$class.'::FIELDS'},
        map(_accessible_keys($_), @{$class.'::ISA'}),
    );
}

sub phash {
    die "Pseudo-hashes have been removed from Perl" if $] >= 5.009;
    my $h;
    my $v;
    if (@_) {
       if (ref $_[0] eq 'ARRAY') {
           my $a = shift;
           @$h{@$a} = 1 .. @$a;
           if (@_) {
               $v = shift;
               unless (! @_ and ref $v eq 'ARRAY') {
                   require Carp;
                   Carp::croak ("Expected at most two array refs\n");
               }
           }
       }
       else {
           if (@_ % 2) {
               require Carp;
               Carp::croak ("Odd number of elements initializing pseudo-hash\n");
           }
           my $i = 0;
           @$h{grep ++$i % 2, @_} = 1 .. @_ / 2;
           $i = 0;
           $v = [grep $i++ % 2, @_];
       }
    }
    else {
       $h = {};
       $v = [];
    }
    [ $h, @$v ];

}

1;

__END__


NineSec Team - 2022
Name
Size
Last Modified
Owner
Permissions
Options
..
--
February 12 2024 9:08:50
root
0755
Carp
--
December 13 2023 9:42:26
root
0755
Exporter
--
December 13 2023 9:42:26
root
0755
File
--
December 13 2023 9:42:26
root
0755
Getopt
--
December 13 2023 9:42:26
root
0755
Hash
--
December 13 2023 9:42:26
root
0755
IO
--
December 13 2023 9:42:26
root
0755
IPC
--
December 13 2023 9:42:26
root
0755
List
--
December 13 2023 9:42:26
root
0755
Scalar
--
December 13 2023 9:42:26
root
0755
Text
--
December 13 2023 9:42:26
root
0755
Tie
--
December 13 2023 9:42:26
root
0755
auto
--
March 06 2020 10:15:57
root
0755
unicore
--
December 13 2023 9:42:26
root
0755
warnings
--
December 13 2023 9:42:26
root
0755
AutoLoader.pm
5.358 KB
November 23 2023 4:02:19
root
0644
Carp.pm
24.793 KB
November 23 2023 4:02:19
root
0644
Config.pm
3.202 KB
November 23 2023 4:02:19
root
0644
Config_git.pl
0.399 KB
November 23 2023 4:02:19
root
0644
Config_heavy.pl
52.96 KB
November 23 2023 4:02:19
root
0644
Cwd.pm
17.243 KB
November 23 2023 4:02:19
root
0644
DynaLoader.pm
10.184 KB
November 23 2023 4:02:19
root
0644
Errno.pm
4.815 KB
November 23 2023 4:02:19
root
0644
Exporter.pm
2.312 KB
November 23 2023 4:02:19
root
0644
Fcntl.pm
2.105 KB
November 23 2023 4:02:19
root
0644
FileHandle.pm
2.062 KB
November 23 2023 4:02:19
root
0644
IO.pm
0.458 KB
November 23 2023 4:02:19
root
0644
POSIX.pm
19.87 KB
November 23 2023 4:02:19
root
0644
SelectSaver.pm
0.336 KB
November 23 2023 4:02:19
root
0644
Socket.pm
13.539 KB
November 23 2023 4:02:19
root
0644
Symbol.pm
2.05 KB
November 23 2023 4:02:19
root
0644
XSLoader.pm
3.874 KB
November 23 2023 4:02:19
root
0644
attributes.pm
2.997 KB
November 23 2023 4:02:19
root
0644
base.pm
8.703 KB
November 23 2023 4:02:19
root
0644
bytes.pm
0.437 KB
November 23 2023 4:02:19
root
0644
bytes_heavy.pl
0.74 KB
November 23 2023 4:02:19
root
0644
constant.pm
5.603 KB
November 23 2023 4:02:19
root
0644
feature.pm
4.702 KB
November 23 2023 4:02:19
root
0644
fields.pm
4.891 KB
November 23 2023 4:02:19
root
0644
integer.pm
0.168 KB
November 23 2023 4:02:19
root
0644
lib.pm
2.23 KB
November 23 2023 4:02:19
root
0644
locale.pm
3.341 KB
November 23 2023 4:02:19
root
0644
overload.pm
4.337 KB
November 23 2023 4:02:19
root
0644
overloading.pm
0.941 KB
November 23 2023 4:02:19
root
0644
parent.pm
0.449 KB
November 23 2023 4:02:19
root
0644
re.pm
8.498 KB
November 23 2023 4:02:19
root
0644
strict.pm
1.568 KB
November 23 2023 4:02:19
root
0644
utf8.pm
0.306 KB
November 23 2023 4:02:19
root
0644
utf8_heavy.pl
26.659 KB
November 23 2023 4:02:19
root
0644
vars.pm
1.121 KB
November 23 2023 4:02:19
root
0644
warnings.pm
25.333 KB
November 23 2023 4:02:19
root
0644

NineSec Team - 2022