2009-11-13 3 views
23

Прямо сейчас у меня есть свой собственный доморощенный тестовый жгут/структура каталогов/поддержка doc strucure/инструменты распространения для моих библиотек. Однако, прочитав сообщение в блоге Write your code like it's going on CPAN, это звучало как хорошая идея. Затем мне пришло в голову, я действительно не знаю, как это сделать.Как начать писать модуль для CPAN?

Каковы некоторые хорошие ресурсы для создания собственных пакетов Perl в структуре, подобной CPAN?

+4

см. Также: http: // stackoverflow.com/questions/73889/which-framework-should-i-use-to-write-modules –

ответ

23

Обычно я начинаю с Module::Starter. Он поставляется с довольно простым command-line tool, который создаст новый дистрибутив из шаблона, включая все необходимые файлы и каталог t /, и так далее. Он также будет создавать либо Makefile.PL (используя ExtUtils :: MakeMaker), либо Build.PL (используя Module :: Build.)

Он также помещает туда пустой файл .pm с шаблонами для вашего POD и например.

13

Лучшее место для начала - CPAN FAQ.

Как отмечалось там, следующие хорошие ресурсы:

Как всегда, PerlMonks являются хорошим ресурсом, а также. См. Их «How to make a CPAN Module Distribution».

+2

Я бы даже начал с 'perldoc perlnewmod', который в конце концов укажет вам на' perlmod' и 'perlmodlib'. – mob

8

См. José's Guide for creating modules.

Вам также может понравиться Сэм Трегар Writing Perl Modules for CPAN.

+0

«Написание Perl-модулей для CPAN» больше не доступен для бесплатной загрузки, я получил электронное письмо, подтверждающее, что (и купон), когда я написал им, чтобы упомянуть, что «Бесплатная загрузка Ebook» на этой странице возвращает пустую страницу. Однако они никогда не фиксировали страницу. – MkV

+0

Ну, это отстой. Я не уверен, что это стоило вашего downvote за то, что я сказал почти год назад, и легко исправить сейчас. –

+0

@MkV: Особенно, если у вас достаточно репутации, чтобы отредактировать и исправить ответ самостоятельно ... –

8
  • Ricardo Signes является довольно плодовитым автором модуля, и он часто пишет инструменты, чтобы сделать создание модуля максимально простым. Его модули, как правило, довольно актуальны, и он, похоже, придерживается самых современных подходов к созданию дистрибутива CPAN, поэтому его дистрибутивы, вероятно, являются хорошими примерами. Кажется, он использует Dist::Zilla для управления и загрузки своих дистрибутивов.

  • Модуль Module::Starter, который генерирует полезный шаблон, чтобы помочь с созданием современного модуля Perl.

  • Напишите тесты! Проверьте Perl Quality Assurance Projects page. Это немного устарело, но у него есть отличные ссылки на качественные материалы для чтения.

  • Заканчивать CPANTS, the CPAN Testing Service

  • После того как вы читали на лучших инструментов для создания модулей, получить счет на PAUSE, который позволяет Вам управлять своими распределениями на CPAN.

  • Соедините #perl канал чата IRC на irc.perl.org. Только около половины обсуждений на самом деле касается Perl, но многие авторы модулей болтаются там, и вы можете многому научиться.

+0

Любите свой аватар. – friedo

+0

Лучшим выбором для обсуждения Perl является # perl ++ на irc.perl.org или #perl на irc.freenode.net. –

+0

@ Энди: никоим образом, #perl на irc.perl.org все еще r0xors. :) Также есть #distzilla и #toolchain, которые полезны для получения помощи при создании модулей. – Ether

Смежные вопросы