Is your file one that can be sourced in the shell? Then use the following code near the top of your program (assuming you use something like Bourne shell, Bash, Korn shell, POSIX shell, ...).
my $ENVIRONMENT = "/some/file/with/environment/variables/"; if (@ARGV && $ARGV [0] eq '--sourced_environment') { shift; } else { if (-f $ENVIRONMENT) { # # Now we perform a double exec. The first exec gives us a +shell, # allowing us the source the file with the environment var +iables. # Then, from within the shell we re-exec ourself - but wit +h an # argument that will prevent us from going into infinite r +ecursion. # # We cannot do a 'system "source $ENVIRONMENT"', because # environment variables are not propagated to the parent. # # Note the required trickery to do the appropriate shell q +uoting # when passing @ARGV back to ourselves. # # Also note that the program shouldn't normally be called +with # '--sourced_environment' - if so, pick something else. # @ARGV = map {s/'/'"'"'/g; "'$_'"} @ARGV; exec << " --"; source '$ENVIRONMENT' exec $0 --sourced_environment @ARGV; -- die "This should never happen."; } }

Abigail


In reply to Re: setting perl ENV from file by Abigail-II
in thread setting perl ENV from file by kcorcam

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.