the thing that DBIPool::GetHandle() returns is a DBIPool object that processes dbi handle calls. I used the AUTOLOAD function to pass all the dbi handle calls from the DBIPool wrapper object to the dbh.
i like the idea of testing the connection before returning it, but i've only been using this module for scripts that run once and complete, not daemons. Resource Pool does have a more robust interface, but I do prefer my little class for the run once scripts I'm using.