I got Thread::Pool working. Actually, it was working all along. I was just trying to drive the script with the debugger which doesn't work. However if anyone has an answer to the question about how to keep threads alive for re-use, I'd still like to know.