Have you looked at IPC::Open2? This allows you to both read from and write to another program via stdout and stdin of that program. It's a bunch more work than backticks, but incredibly simpler than doing the same thing in pure C.

Other methods include Expect, or properly quoting your string in your backticks. While that last one sounds tempting, let me dissuade you from it: it's easy to get something that usually works, but hard to get something that always works. Using IPC::Open2 will always work, once you get it working at all, because there's no nasty shell between you and your program (especialy lif you use the 'some', 'cmd', 'and', 'args' version).


In reply to Re: piping a function into a backtick shell by Tanktalus
in thread piping a function into a backtick shell by drawde83

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.