O monks, hear my plea for enlightenment:

Is there a graceful way to test whether a particular external program is available? I could do a system("which foo"), but that wouldn't be portable. I could attempt to execute foo and test for an error, but I don't actually want to execute foo yet, I just want to do an initial test to see whether there's any problem with the user's configuration. I could split $ENV{PATH} and look in every directory it contains, but that would be a lot of work.

On a related note, why does use of $ENV{PATH} with the -T pragma cause an error/warning, and is there a good workaround? I'm modifying someone else's CGI script to try to make it do better error checking.

Thanks in advance, O monks!

Thanks, all, for the suggestions!! I'm going to go with Aristotle's method, because it's someone else's project, and they might not want me to submit a patch that adds dependencies.


In reply to checking external program for availability? by bcrowell2

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.