use Storable qw(freeze); use DBI; use strict; use warnings; my $dsn = "DBI:mysql:database=test;host=foo"; my $dbh = DBI->connect($dsn, 'root', 'password', {RaiseError => 1}); my $data = {'a'=>1, 'b'=>{'c'=>2, 'd'=>3}, 'e'=>[1,2,3]}; my $frozen = freeze($data); my $command = "insert into test(a,b) values(1,?)"; my $sth = $dbh->prepare($command); $sth->execute($frozen); #### use DBI; use strict; use warnings; my $dsn = "DBI:mysql:database=test;host=foo"; my $dbh = DBI->connect($dsn, 'root', 'abcd', {RaiseError => 1}); my $frozen = "1"; my $command = "insert into test(key,b) values(1,?)"; my $sth = $dbh->prepare($command); $sth->execute($frozen);