Do the developement in a perl module and write a pl file to execute the code after testing. That means 3 files; .t, .pm, and .pl where the Ruby guys only needed 2.
The 3+ file option is best in Perl IMHO. Who cares if you have three files or only two? Actually, it is often best to have more than three files. That is, to write a number of .t files for each .pm file. Why? Because maintaining a number of (small) .t files, one to test each aspect of a module, is usually easier to manage and maintain than a single (monolithic) .t file. I favour this general approach in any language, including Ruby.

When writing Perl scripts, I typically abstract the work they do into CPAN-like modules and unit test each module using Test::More and the prove command. I strive to keep my script mainlines as short as is practicable. There are many examples of this approach on the CPAN; see, for example, the perltidy command, part of the Perl::Tidy distribution and the perlcritic command, part of the Perl::Critic distribution.

At work I would like to create my own modules but I was told to have everything in one file for the application I've been working on.
Why? That looks like very poor advice to me.


In reply to Re: How to get started in test first programming without writing modules? package ? by eyepopslikeamosquito
in thread How to get started in test first programming without writing modules? package ? by Gulliver

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.