Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
When we say "$manager->start and next;" , doesn't what is below this statement (rest of the for loop that is) get skipped completely?

The and isn't just a "do this then this", it's a shortcut operator. If the $manager->start evaluates to something true, it does the next, but otherwise it doesn't.

In the particular case of Parallel::ForkManager, the ->start method returns values just like fork does; in the parent, it returns the pid of the child (which is a positive integer, and thus true), and in the child, it returns 0 (which is false).

So, the result is that in the parent process, the next happens, and it goes around and spawns off the next one (which is what you want the parent to do). In the child, since the ->start returns a false value, the and isn't followed, and it goes ahead and does the bits of actual work. The child does its thing (with system in this case), and then calls the ->finish method, which is equivalent to exit, so the child doesn't go back to the top of the loop and try spawning off more children (that's the parent's job).


In reply to Re^2: Introduction to Parallel::ForkManager by fullermd
in thread Introduction to Parallel::ForkManager by biosysadmin

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (4)
As of 2024-04-19 04:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found