Два простых сценария, которые позволяют прояснить - что имеется у хостера из Perl-модулей.
Пример 1
|
1 2 3 4 5 6 7 8 9 |
#!/usr/local/bin/perl use ExtUtils::Installed; my $installed = ExtUtils::Installed->new(); foreach my $module ($installed->modules()){ printf "Module: %s\t\tDir: %s\t\tVersion: %s\n", $module, $installed->directories($module), $installed->version($module); } |
Пример 2
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
#!/usr/local/bin/perl use ExtUtils::Installed; if (not defined $ARGV[0]){ &help() } elsif ($ARGV[0] eq "-l"){ &list_modules(); } elsif ($ARGV[0] eq "-m" && defined $ARGV[1] && $ARGV[1] =~/^[a-zA-Z0-9-]*$/i){ &info(); } else{ &help(); } exit; sub help { print "usage: perl $0 [options] [module_name]\n"; print "Options are:\n -l: Print list of installed modules\n -m: Print information about modules: [module_name]\n\n"; } sub info { my $installed = ExtUtils::Installed->new(); my $module = $ARGV[1]; print "INFO: $module\n"; printf "Dir prog:\t %s\n",$installed->directories($module, "prog"); printf "Dir doc:\t %s\n",$installed->directories($module,"doc"); printf "Dir tree:\t %s\n\n",$installed->directory_tree($module, "prog"); printf "Files prog:\t %s\n",$installed->files($module, "prog"); printf "Files doc:\t %s\n",$installed->files($module,"doc"); print "Validate:\t\n"; my (@validate) = $installed->validate($module); foreach my $val (@validate){ printf "\t %s\n",$val; } } sub list_modules { my $installed = ExtUtils::Installed->new(); foreach my $module ($installed->modules()){ printf "Module: %s\t\tVersion: %s\n", $module, $installed->version($module); } } |
Полезная ссылка