Can it be done in Perl? Of course!
Although I fully support (and indeed try to practice) the art of giving people pointers to answers and then letting them research the rest, I believe your last sentence is lacking in this case.
I am currently looking for a way to implement a pool of (Oracle) database connections and am hitting brick walls at most corners I turn. DBD::Oracle does not seem to play nicely with iThreads in stark contrast to the documentation, the DBI users mailing list has been unable to help so far, and CPAN lists no (mature / database) pooling modules with the exception of ResourcePool which has iThreads listed under the Limitations section.
Update: Perhaps I'll turn this into a meditation...