I understand that if the whole program was destined to be a 1 million line ERP system, the it would be worth re-organizing and rewriting everything to fit into modules. However I'm aiming at just splitting things into "two" files, and I'm 1 yard from the finish line. So cut/paste into 10 scripts may be the way to go.

No, copy/paste isn't the answer, thats like first week of intro to programming :)

modules are the answer, modules that are accompanied with tests, your code should live in modules :)

Maybe

foo.pl use BtApp; BtApp->runFoo; bar.pl use BtApp; BtApp->run( mode => 'Bar', @ARGV ); baz.pl use BtApp; BtApp->run( '--mode=Baz' , @ARGV ); btapp.pl use BtApp; BtApp->cli( @ARGV ); beep.pl use BtApp; BtApp->cli( beep => @ARGV ); ... BtApp.pm BtApp/Command/Baz.pm BtApp/Bar.pm BtApp/Beep.pm t/00-load.t t/command/baz.t t/bar.t t/baz.t t/beep.t ...

Something like that, draw a few outlines like that on a piece of paper, putting different stuff in different places, see what makes more sense

You can see all kinds of examples on cpan, see App::

https://metacpan.org/release/Module-Starter

tracker/App::TimeTracker

booklist/App::Booklist


In reply to Re^3: Proper way to create packages and re-usable code? by Anonymous Monk
in thread Proper way to create packages and re-usable code? by bt101

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.