����JFIF���������
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
package Utils;
use strict;
use warnings;
use File::Spec;
use Config;
require Exporter;
our @ISA = 'Exporter';
our @EXPORT = qw/save_std restore_std next_fd sig_num/;
sub _open {
open $_[0], $_[1] or die "Error from open( " . join(q{, }, @_) . "): $!";
}
my @saved;
sub save_std {
for my $h ( @_ ) {
my $fh;
_open $fh, ($h eq 'stdin' ? "<&" : ">&") . uc $h;
push @saved, $fh;
}
}
sub restore_std {
for my $h ( @_ ) {
no strict 'refs';
my $fh = shift @saved;
_open \*{uc $h}, ($h eq 'stdin' ? "<&" : ">&") . fileno( $fh );
close $fh;
}
}
sub next_fd {
no warnings 'io';
open my $fh, ">", File::Spec->devnull;
my $fileno = fileno $fh;
close $fh;
return $fileno;
}
#--------------------------------------------------------------------------#
my %sig_num;
my @sig_name;
unless($Config{sig_name} && $Config{sig_num}) {
die "No sigs?";
} else {
my @names = split ' ', $Config{sig_name};
@sig_num{@names} = split ' ', $Config{sig_num};
foreach (@names) {
$sig_name[$sig_num{$_}] ||= $_;
}
}
sub sig_num {
my $name = shift;
return exists $sig_num{$name} ? $sig_num{$name} : '';
}
1;
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Cases.pm | File | 8.88 KB | 0644 |
|
| TieEvil.pm | File | 730 B | 0644 |
|
| TieLC.pm | File | 816 B | 0644 |
|
| Utils.pm | File | 1.12 KB | 0644 |
|