Excellent! With Parallel::ForkManager parallel programming is a piece of cake!
With Parallel::ForkManager I can run at home four matrix-multiplications or matrix-inversions or similar arithmetic formulas in parallel and at the time-cost of one.
I found it best for my programs to work with the rule of thumb
max_processes = parent_loop_length = number_of_cores = 4
and with a minimal child processing time of about five seconds.
For very small child processing times of less than 5 seconds I found that the "top" display %CPU entry of the child jobs can be as low as 2-3% making parallel processing much slower than linear processing.
As of this writing, it comes as a shock that this module rating has no more than four stars on average.
I really use the module in situ wherever it comes in handy.
I maintain that with the module in tow, you will be for the first time released from the low-level fork which is prone to make programs nasty.
Even though I know how to use fork(2) directly I find that Parallel::ForkManager improves the readability of my code. It hides the gory details of bookkeeping of running processes whitout hiding whats going on.