in reply to fork report child finish by order child process finish.
You are describing a Workflow management system ... the hard way.
If the business situation is that “report #4 cannot start until reports #1 and #3 have finished,” and you find yourself writing custom Perl programs to shepherd that ... then you are “doing a thing that has already been done.”
In Section
Seekers of Perl Wisdom