403Webshell
Server IP : 142.11.234.102  /  Your IP : 216.73.216.19
Web Server : Apache
System : Linux dal-shared-66.hostwindsdns.com 4.18.0-513.24.1.lve.1.el8.x86_64 #1 SMP Thu May 9 15:10:09 UTC 2024 x86_64
User : krnuyqrm ( 1183)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /proc/self/root/proc/self/root/usr/share/perl5/vendor_perl/App/cpanminus/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/self/root/proc/self/root/usr/share/perl5/vendor_perl/App/cpanminus/Dependency.pm
package App::cpanminus::Dependency;
use strict;
use CPAN::Meta::Requirements;

sub from_prereqs {
    my($class, $prereqs, $phases, $types) = @_;

    my @deps;
    for my $type (@$types) {
        push @deps, $class->from_versions(
            $prereqs->merged_requirements($phases, [$type])->as_string_hash,
            $type,
        );
    }

    return @deps;
}

sub from_versions {
    my($class, $versions, $type) = @_;

    my @deps;
    while (my($module, $version) = each %$versions) {
        push @deps, $class->new($module, $version, $type)
    }

    @deps;
}

sub merge_with {
    my($self, $requirements) = @_;

    # save the original requirement
    $self->{original_version} = $self->version;

    # should it clone? not cloning means we upgrade root $requirements on our way
    eval {
        $requirements->add_string_requirement($self->module, $self->version);
    };
    if ($@ =~ /illegal requirements/) {
        # Just give a warning then replace with the root requirements
        # so that later CPAN::Meta::Check can give a valid error
        warn sprintf("Can't merge requirements for %s: '%s' and '%s'",
                    $self->module, $self->version,
                    $requirements->requirements_for_module($self->module));
    }

    $self->{version} = $requirements->requirements_for_module($self->module);
}

sub new {
    my($class, $module, $version, $type) = @_;

    bless {
        module => $module,
        version => $version,
        type => $type || 'requires',
    }, $class;
}

sub module  { $_[0]->{module} }
sub version { $_[0]->{version} }
sub type    { $_[0]->{type} }

sub requires_version {
    my $self = shift;

    # original_version may be 0
    if (defined $self->{original_version}) {
        return $self->{original_version};
    }

    $self->version;
}

sub is_requirement {
    $_[0]->{type} eq 'requires';
}

1;

Youez - 2016 - github.com/yon3zu
LinuXploit