I am supposed to run 5000 external commands with 60 commands running at any point of time through the perl script. So I am using perl's parallel fork manager and set the max procs to 60 and running each external commands through each of these forked child process.

Now I want to get the stdout and stderr from each of these external commands. I prefer getting the stdout and stderr into a variable rather than writing them to each file. What is the best possible way to get the stdout and stderr from these external commands into a variable? My external command prints out some statistics which I want to parse and store in an hash array.

I also tried using threads and open3 but in vain. I am ok with any solution which runs 60 of my external commands (out of 5000) at any given point of time


In reply to capture stdout and stderr from external command by pankajadvani

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.