To add to toolic's comment, there a number of ways to invoke external programs from Perl. For some grotesque detail, see perlipc. The quick answer is that if you don't care about the output (STDOUT and STDERR will pipe to Perl's STDOUT and STDERR) and just need to execute a single command, system does what you need:
system('sqlplus', $Username, "$Password\@SERVER", 'test.sql');
The return value will be the exit code of the process.

If you want to capture the STDOUT channel but are okay with STDERR bypassing Perl, you'll want backticks.

my $result = `sqlplus $Username $Password\@SERVER test.sql`;
or if you want to capture STDOUT and STDERR
my $result = `sqlplus $Username $Password\@SERVER test.sql 2>&1`;
Note that escaping can get hairy here.

Lastly, if you want to do anything more complex (bidirectional communication, handling STDOUT and STDERR separately, ...) it can be done, but you'll need to be specific.


#11929 First ask yourself `How would I do this without a computer?' Then have the computer do it the same way.


In reply to Re: Calling a plsql file from perl script by kennethk
in thread Calling a plsql file from perl script by chai6125

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.