Статьи

Поиск установленных модулей Perl

Работая с многочисленными серверами, некоторые из которых являются моими, а многие — находящимися в собственности клиентов, я сталкиваюсь с интересными проблемами для решения (да, это очевидно, я знаю, мы все это делаем!). Как и большинство из нас сейчас, когда ставят в тупик, в первую очередь стоит обратиться к проблеме Google и посмотреть, кто ее уже решил.

Всего несколько недель назад я боролся с проблемой веб-приложения Perl для некоторых расширенных сценариев, которые я не создал, и убедился, что это связано с модулями (кто-нибудь еще волнуется из-за запутанных сообщений об ошибках Perl ?!).

У меня получился фрагмент кода для идентификации всех установленных модулей, и я наконец смог отследить, какой модуль не был установлен, что решило проблему.

Возможно, другие найдут какую-то ценность в возможности генерировать списки установленных модулей. Отказ от ответственности в этом коде — я помню, как нашел его в поиске Google некоторое время назад (по крайней мере, год назад) — но не могу отследить, кто его опубликовал и где. Так что — для обеспечения надлежащего кредита выдается — я не написал этот удобный маленький кусочек.


perl -MFile::Find=find -MFile::Spec::Functions -lwe 'find { wanted => sub { print canonpath $_ if /.pmz/ }, no_chdir => 1 }, @INC'