Some monks here already adviced fork instead of threading.
I found the
Parallel::ForkManager most useful for
spaning up independent processes. However: If you need
communication between the processes youŽll have to stick with IPC.
But I think fork is the ideal candidate for your purpose.
Ciao