Как я могу сказать, каким модулям первоначально предоставили определенную установку Perl на машине?
(Это не дубликат: Как я могу сказать, является ли модуль Perl ядром или частью стандартной установки? ("Как я могу сказать, является ли модуль Perl ядром или частью стандартной установки?") - это - на самом деле вопрос об ответвлении от него),
Я ищу то, что шло с установкой первоначально, какие модули были обеспечены как часть той установки, что было встроено. НЕ, что было установлено с тех пор.
Я хотел бы, чтобы это работало с любой версией Perl.
Я хочу смочь сделать это:
Причины, почему я хочу сделать, это:
Причина, почему я задаю этот вопрос, состоит в том, потому что для любой версии Perl, кажется, не существует автоматизированный способ узнать полное стандартное определение установки, какие модули можно ожидать присутствовать в стандартной установке на машине - посмотрите вопрос: Как я могу сказать, является ли модуль Perl ядром или частью стандартной установки? ("Как я могу сказать, является ли модуль Perl ядром или частью стандартной установки?")
На версии Perl нельзя положиться, чтобы сказать Вам, какие модули присутствуют или нет. Несомненно, могла бы быть документация онлайн, которая говорит Вам. Но мне нужен автоматизированный способ сделать это на выпуске, который я загружаю/устанавливаю. Даже та же версия Perl на различных дистрибутивах Linux/Unix может отличаться.
В общем вы не можете. Вы будете иметь намного меньше разочарования, если принять это и подойти к проблеме с другого угла. Модуль :: CoreList предоставляет список того, что должен включен во всех установках как минимальный минимум, но поставщики не обязаны придерживаться этого, и большинство распределений включают в себя множество модулей, которые ren ' T часть ядра. За исключением вашей собственной базы данных о том, что было включено в какую версию каждого распределения - непростой задачей - не так много надежды. Обратите внимание, что даже для модулей, которые пришли с распределением, установленная версия может быть разной.
Я вижу несколько разных способов приблизиться к этому:
Требуется раздел
Сценария Build.pl. CPAN CPAN Shell может следовать и разрешать
зависимости автоматически. Ищу, что пришло с Установка Первоначально, какие модули были предоставлены как часть этого Установка, что было встроено. НЕТ Что было установлено с тех пор.
Может быть, для непрофильных модулей вы сможете проанализировать Perllocal.pod, разделив начальную партию модулей, установленных вместе с самой установки Perl от более поздних на основе даты. Вы ищете такие линии, как:
=head2 Wed Apr 30 15:40:38 2008: C<Module> L<URI|URI>
, поэтому первые несколько предположительно будут те, которые были установлены с самой Perl и должны иметь ту же дату (хотя и не одно и то же время). Те, которые установлены в разнице 24 часа или более, будут то, что вы ищете.
Не уверен в основных модулях, так как на мой взгляд, ответы, которые вы получили в предыдущем вопросе, вы связаны, являются удовлетворительными, но ясно, что вы так не думали. Наверное, я что-то упускаю:)
ура, Предложение
Для Debian или Ubuntu вы можете использовать
$ dpkg --listfiles perl | grep '\.pm$'
для Redhat:
$ rpm -ql perl | grep '\.pm$'