Skip to content
Snippets Groups Projects
Commit 41867449 authored by Elmar S. Heeb's avatar Elmar S. Heeb Committed by Claude Becker
Browse files

managing_perl_code: created, outline + first sections

parent 666b10cb
No related branches found
No related tags found
No related merge requests found
====== Managing Perl Code ======
If you maintain Perl code you probably want to manage your software as packages. You can use autoconf as described in [[Managing a Software Package using the GNU Autotools]]. However, there is a whole ecosystem for managing packages within the Perl community that started with the [[http://www.cpan.org/|CPAN]]. It is recommended that you use those tools for Perl code.
True to their motto ''There is more than one way to do it'' ([[https://en.wikipedia.org/wiki/There's_more_than_one_way_to_do_it|TIMTOWTDI]]) the Perl community has over the years developed several tools for the task. As you browse the available literature you may get confused as to when to use one or the other tool. Depending on when an article was written it may even be that some of the issues mentioned do not apply anymore.
The goal of this writeup is to show how the most frequently used Perl packaging tools relate to each other. This may help you decide how you want to package your own code.
===== ExtUtils::MakeMaker =====
With the invention of [[http://www.cpan.org/|CPAN]] there needed to be a well defined way to install a package. At the time very often there were parts of the package written in C that needed to be built along the Perl code. Using ``make`` was a given but the ``Makefile`` needed to conform to certain conventions. To ensure these conventions a script ``Makefile.PL`` was written using the [[http://perldoc.perl.org/ExtUtils/MakeMaker.html|``ExtUtils::MakeMaker``]] module. With this the sequence to install a Perl package became:
perl Makefile.PL
make
make test
make install
If you need to maintain a package written using ``ExtUtils::MakeMaker`` you may want to read the [[http://perldoc.perl.org/ExtUtils/MakeMaker/Tutorial.html|ExtUtils::MakeMaker::Tutorial]] and then the [[http://perldoc.perl.org/ExtUtils/MakeMaker.html|extensive manual]]. However, if you start a new project you should use one of the newer tools mentioned below.
===== Module::Build =====
===== Module::Starter =====
===== Dist::Zilla =====
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment