Ответ 1
Я установил Module::CPANFile
и perldoc cpanfile
и perldoc cpanfile-faq
.
В POD для cpanfile
указано:
[the] cpanfile specification (this document) is based on Ruby's
Gemfile http://gembundler.com/man/gemfile.5.html specification.
Отключена ссылка на странице руководства cpanfile
. Он должен указывать на: http://bundler.io/v1.3/man/gemfile.5.html
cpanfile
предназначен для "обратной совместимости" с Module::Install
Синтаксис DSL и "конвертируется в CPAN:: Meta:: Prereqs" и вдохновлен CPAN::Meta Spec v.2
и т.д.
Как я понимаю, cpanfile
представляет собой нечто вроде мета-формата и вписывается в ряд подходов TIMTOWTDI (см. блог miyagawa, описывающий cpanfile
), совместимый с Module::Install
и в основном самодокументирующийся. Например, если вы запустите mymeta-cpanfile
внутри каталога с файлами META
, он построит для вас cpanfile
; вы можете написать script, который описывает предварительные условия из CPAN::Meta::Prereqs
, а затем $file->save('cpanfile');
для записи cpanfile
.
Что касается Dist::Milla
, в учебнике (см. POD
, включенном в Dist::Milla
). Миягава указывает, что
"Если вы решили вручную построить [a] новый cpanfile
, формат в основном совместим с Module::Install
требованием DSL". В учебнике также приведен краткий пример.
Я думаю, что было бы справедливо спросить miyagawa, чтобы прояснить статус и варианты использования cpanfile
спецификации/формата в документация для распространения. Это и еще несколько примеров ответят на такие вопросы, как ваша. Он в основном делал работу над этим уже - это просто не все в одном месте.