I've been having a great time playing with Class::DBI these past few days. Although I've been vaguely aware of it for a while, I hadn't really considered using it till I read Kake's article on perl.com, and realised that it might be suitable for use in the project I'm currently working on (which had until that point used a more traditional vanilla DBI implementation).
Talk about straightforward - it took about two minutes to set up, and it all worked first time. If only everything were that easy.
There are only two things I still need to work out before I'm completely happy.
Firstly, it doesn't seem to want to play nicely with Apache::Reload, at least at first glance. So I'm back to an apache stop/start cycle, at least whenever I update the database declarations. Knowing me, I'm missing something blindingly obvious, but it'd still be nice to sort it out. Though in the grand scheme of things, it's really not that big a deal.
The second issue is that I currently don't know exactly how much performance overhead it incurs, so I need to write some benchmarks. Whilst I have a feeling it's going to be quite a bit (considering what it does), I want to know exactly how much, as compared to plain DBI. OK, yeah, premature optimisation and all that, but it'd be nice to know what to expect before I start hammering it for real.