Module::Build is our answer packaging things nicely for sharing with others or installing on prod boxes. You could also use the traditional ExtUtils::MakeMaker.

C/C++ people need make to compile their programs. Pure Perl programs (at least until Perl 6) are compiled on the fly when the program runs. So, we don't need make until we add C code. Then we use make via the modules mentioned above.

Java people need ant (or something like it) as a make replacement because the java compiler is written in java. This means that every time make sees a stale compiled file, it must start a JVM to compile a new version. Starting JVMs is hugely time consuming. Ant starts one JVM and keeps it running for all the compiles.

A tool like Module::Build will compile C as necessary, using make, but otherwise is just an organizer. It has a manifest of the files users need to install. It has a test suite to make sure the packages are working as expected. It has a script (Build) which runs the tests, installs the modules, etc. MakeMaker actually generates a genuine make file to do those things. Since make files are not so easy to maintain, and are not competely standard between make variants, the tide seems to be moving in favor of Module::Build which is pure perl.

Phil


In reply to Re: Perl-specific automation tools? by philcrow
in thread Perl-specific automation tools? by JohnMG

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.