What is the advantage of using open FP, "find . -ls |" and then looping through the handle, as opposed to using backticks?
  1. If the output is extensive, reading and processing it a line at a time rather than slurping it all into memory then processing it, may avoid using a large amount of memory.
  2. If the output takes a while to produce, your program can be processing the first lines whilst the other process is still producing the rest.
  3. Maybe you don't need all the output.

    Once you found what you are looking for, you can discard the rest.

    If you capture the pid returned by the piped open, you can even kill the external process before it completes.

regarding system(), it returns the exact same thing as using backticks

What makes you think this? system does not capture or return any output from the program.

why did the coder use a pipe in open() instead of using backticks ...?

Perhaps he was dealing with very large directories.


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

In reply to Re: Interacting with the shell ( backticks, system(), open -| ) by BrowserUk
in thread Interacting with the shell ( backticks, system(), open -| ) by jktstance

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.