in reply to Proper way to thread this in PERL.

There’s definitely a “right way” and a “wrong way” to use threading/processes, IMHO, no matter what programming language(s) you are using to do the job.   A thread or process is a worker, not a unit of work.   The best example of concurrency in action is ... a fast-food restaurant.