Thank you :) I didn't realized that. It makes sense in term of cpu usage. But I still have the same problem right? If one of the 4 takes longer time to end, the mother still needs to wait for that to finish to be able to send another 4 right?
As far as I understand Parallel::ForkManager, it limits your program to maximum 4 children, but if one child ends, Parallel::ForkManager will launch the next child immediately.