in reply to Inheriting from DBI
I second dragonchild's advice. A wrapper is better.
However, if you really must, you may take as an example DBIx::HA, which is inherited from DBI. At least, you may see how it is done.
Check the source code