|Think about Loose Coupling|
Re: parallel functionsby kcott (Canon)
|on Nov 07, 2012 at 21:58 UTC||Need Help??|
If you add use warnings;, you'll see that the exec is not being run at all:
What's actually happening is that $cmd->() is being run then exec is trying to use the return value ("1" from say) as its argument.
So, the first child runs test1() then, because there's no exec, it runs test2() on the second iteration. The second child runs test2() (also with no exec). That's test1() once and test2() twice.
you'll get the desired output:
I'll leave you to decide if that's also the desired functionality.