in reply to Inserting hash keys to MySQL field names using DBI

Yes. Take a look at DBIx::Simple, which is a layer over DBI. You really don't need a lot of code:
use DBIx::Simple; $db = DBIx::Simple->connect(...); # just as with DBI $db->insert($table, \%hash);
See SQL::Abstract for the syntax, which DBIx::Simple uses for its implementation.

Behind the curtains, it builds and prepares statements using placeholders, and it keeps a pool of cached statement holders, so repeated use of calls will be quite efficient: it'll try to avoid preparing the same statement over and over again.