не все):
perl -E 'use ExtUtils::Installed; use Data::Dumper; my $i = ExtUtils::Installed->new(); my (@modules) = $i->modules(); foreach my $m(@modules){ say $m; };'
Например выводит:
Selenium::Remote::Driver
Но не выводит:
Selenium::Firefox
Хотя они оба установлены. У меня модули стоят в $HOME/perl5/lib/perl5, установленные через cpanm. Есть более правильный способ вывести однострочником все возможные установленные модули в системе? Спасибо!
Зачем?
Иногда нужно зайти на сервер и посмотреть установленные модули, чтобы потом использовать их, без возможности устанавливать новые.
разумнее, наверное, по списку проверять установлены ли те, что нужны
Ну да, видимо только так
find `perl -le 'print for @INC'` -name '*.pm'
Это до первого require работает.
Это работает и с require до тех пор, пока не начнут подключать модули из кастомных мест. Поэтому я написал челу выше, что невозможно получить список модулей
Обсуждают сегодня