At home and for family/friend projects I have been using Class::DBI (and now some maypole). At work we have been using Tangram and Class::Tangram.
Each has a load of stuff I wish the other had, and in tangram's case a load of stuff I wish would just go away (silent death, unreachable parts of the system, unintelligable and undocumented monolithic evil voodoo internals).
As we get bitten by yet another problem involving our complex bastardised mix of tangram, generated code, fastcgi and psa I am looking at if it might be quicker to just port what we need to CDBI.
Of course CDBI is not Tangram (thank f**k), so I plan on creating a nice Tangram-style API and wrapper around CDBI and a load of custom subclasses and plugins to give the features and flexibility (that are worthwhile) of Tangram as well as the transparency, maturity and sheer common-sense simplicity design of CDBI.
The name is something I have bandied around at work for a while, PINT, you can guess what it might stand for :)
Next I am working on including most of the relationship types that Tangram provides with a similar syntax.
After that I need to work out a good way to add additional data types for attributes, but I will cross that bridge when I come to it.
Hopefully I can provide most of what we need, with the same syntax, and only have to rewrite a few dozen lines in the whole application to move to CDBI from Tangram.