相当于点冻结的perl

时间:2019-01-09 15:59:29

标签: python perl

我想获取给定目录树下已安装的perl模块和版本的列表。

对于python模块,我想完成与pip freeze --user中相同的任务。

我们通常在给定目录中安装软件,例如foo-1.0.0将安装到/soft/foo/1.0.0 并将所需的perl模块安装到/soft/foo/1.0.0/lib/perl5

为了能够在相同条件下复制构建和安装,我们需要能够获取已安装的perl模块列表及其版本。

1 个答案:

答案 0 :(得分:0)

使用以下Perl程序

#!perl
use ExtUtils::Installed;
my $inst = ExtUtils::Installed->new(@ARGV ? (inc_override => \@ARGV) : ());
my @modules = $inst->modules;
foreach (sort @modules) {
    print "$_ => ", $inst->version($_), "\n";
}

它需要一个目录列表进行搜索。如果未提供任何参数,则使用@INC的内容

您还可以使用CPAN模块perl -MCPAN -e autobundle的自动捆绑功能,该功能将生成所有已安装模块的捆绑文件