Yes, I concur with talexb that option 2 is the way to go.

Start a project directory and make subdirs:

lib/ t/ bin/

Put your modules in lib/ using a top-level dir for the top level part of your namespace (if you one day distribute to CPAN you will want a distro name under PostScript and not put your modules directly under the top level) and maybe using subdirs for segments of your desired namespace:
/lib/YOUR_DISTRO_NAME/PSjoin.pm /lib/YOUR_DISTRO_NAME/PS2png.pm /lib/YOUR_DISTRO_NAME/PStopdf.pm /lib/YOUR_DISTRO_NAME/Utils/Frobnicate.pm
and use them like
use YOUR_DISTRO_NAME::PSjoin; use YOUR_DISTRO_NAME::Utils::Frobnicate;

Add that whole directory tree to a version control system like git. Do it first! Then write tests in t/ for all the things. Maybe use subdirs there for the different modules, maybe it's by functionality, maybe both: that's up to you.

Then when you want to build a distribution in the future your files will be in the proper structure. You don't have to worry about such packaging tools now, but preparing for them is wise.

Hope this helps!


The way forward always starts with a minimal test.

In reply to Re: Building Good Modules by 1nickt
in thread Building Good Modules by John N8UR

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.