Perl эквивалент замораживания пунктов - PullRequest
0 голосов
/ 09 января 2019

Я хотел бы получить список установленных модулей и версий perl в данном дереве каталогов.

Я бы хотел выполнить ту же задачу, что и в pip freeze --user для модулей Python.

Обычно мы устанавливаем программное обеспечение в определенном каталоге, например, foo-1.0.0 будет установлено на /soft/foo/1.0.0 и необходимые модули Perl будут установлены на /soft/foo/1.0.0/lib/perl5.

Чтобы иметь возможность реплицировать сборку и установку в одном и том же состоянии, нам необходимо получить список установленных модулей Perl и их версию.

1 Ответ

0 голосов
/ 09 января 2019

используйте следующую программу 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, которая сгенерирует файл комплекта всех установленных модулей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...