my %data = ( url => "http://foo/bar?baz", asdf => 1, thing => \'now()' ); $_ = (ref) ? $_ : $dbh->quote($_) for values %data; print scalar $sqlgen->generate('insert into',\'atable',\%data); __END__ Use of uninitialized value in substitution iterator at /usr/lib/perl5/vendor_perl/5.10.0/SQL/Abstract.pm line 1290. INSERT INTO atable SET asdf = '1', thing = now(), url = 'http://foo/barbaz'