|Don't ask to ask, just ask|
Parallel::ForkManager automates the sometimes tedious process of running multiple parallel forks from a script. It also allows you to control how many forks run at once, and keeps that many running, which simplifies a rather complex task. It is extremely simple in operation and well documented.
Who should use it?
Anyone who wants to implement forking in a script. I wrote a fair bit of forking code before discovering this module, and I must say, I don't think I'll go back. It makes life much easier, and isn't that what good perl modules are supposed to do?
Who should NOT use it?
There are some forking scenarios which are probably too complex for it, although I haven't found any of those myself yet. It might be difficult to use for socket server applications, since controlling the timing of the forks could be tricky. Or fun, depending on your perspective.
Excellent - clear examples and concise wording. Even I understood it.
I've converted almost all of my old fork code to run with this module. It took just minutes, and performance improved (I was spawning forks N at a time, waiting for them all to die, and then spawning N more. This thing keeps N forks running all the time without Ne+02 lines of code ;-). Highly recommended!!