I have used Perl DBI and sometimes SQL::Abstract for data-layer. I'd like start to use DBIx::Class or Rose::DB (not decided yet), but I'm not sure about the tunning facilities of this ORM's.
Sometimes, we have complex (very complex) querys writed with no standar SQL (i.e. Oracle rules for using concrete indexes, or PL/SQL calls, etc).
DBI works well for us, perhaps ORM fails in this concrete scenario.