Based on the typical scripts that require/need child processes that I've written, I'd recommend Parallel::ForkManager. Both of them seem to have some issues with many child processes running simelantously. However, I can get a little more out of Parallel::ForkManager. Even though it can do up to 30 (I believe), I can get 7 to work fine. Any more than that occasionally causes some issues. I primarily program on the windows platform, so these kinds of modules (that utilize forking) are a touchy subject :). That said, I've had my greatest success with Parallel::ForkManager.
Hope this helps