Я бы рекомендовал использовать Module::Starter
для настройки шаблона для каждого модуля. После установки вы можете вызвать module-starter
из командной строки, например:
module-starter --module=My::Module --author="Jessada Thutkawkorapin" --email=your@email.com
или, если вы хотите дистрибутив с несколькими модулями:
module-starter --distro=Foo --module=Foo,Foo::Bar,Foo::Baz --author="Jessada Thutkawkorapin" --email=your@email.com
Затем просто замените файлы .pm
на свои модули, включите любые модульные тесты, которые вы хотите запустить (тесты по умолчанию в основном проверяют синтаксис модуля вместе с синтаксисом pod). Базовая установка модулей выполняется через
perl Makefile.PL
make
make test
make install
(технически, make test
не является обязательным, но настоятельно рекомендуется).
Теперь, если эти модули используют другие модули CPAN, вы можете использовать модуль CPAN
для их установки, например:
use strict;
use warnings;
use CPAN;
#populate however you'd like, either hard-coded, read from a file, etc.
my @modules_to_install=();
foreach(@modules_to_install)
{
CPAN::Shell->install($_);
}
Таким образом, вы можете распространять zip / tarball / etc с папками и файлами, которые module-starter
были запущены (и которые вы изменили) вместе с вышеуказанным сценарием для установки любых зависимостей CPAN, и вызывать его, скажем, cpan_install.pl
, Если вы хотите, вы можете обернуть все в окончательный сценарий, называемый, скажем, install.pl
, который выполняет все эти вещи.