This is what BEGIN and CHECK are intended to handle. To keep your code clear I'd suggest requiring your main program. If you want more control than require allows, look at the require doc's--they give implementation code. Partitioning the code like this is not necessary, but the nature of the problem (interactive and controlled by third party) suggest a conservative approach.

Be well,
rir

#!/usr/bin/perl use strict; use warnings; BEGIN { print "Begin code$/Get initialization info from user$/"; }
Update: Added next line, which was rather the point of partitioning the code.
print "Or do initialization here before the require$/"; require Program; END { print "End program$/"; }
Progam.plpm
package Program; BEGIN: { print "Begin module$/initialize$/" } print "Runtime$/"; END: { print "End module$/" } 1;

In reply to Re: dealing with RUNTIME, COMPILE TIME and use lib ... by rir
in thread dealing with RUNTIME, COMPILE TIME and use lib ... by Marsel

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.