After reading all the replies, it dawned on me that no one really mentioned the problem of the memory gains that can occur if you use "disposable threads in perl". I've tried a few times to set up threads that I try to undef after joining, or after they have otherwise finished. I found that you need to reuse
the thread itself, else memory use will start creeping up. That definitely is something to consider in your "thread-launcher idea". I don't know if it can be done. Threads are like Tk objects, they need to be reused, and don't work well in the create-destroy cycle.