my $compiled_regex = qr/$regex/; my $sth = $dbh->prepare("insert into regexes name,value (?,?)"); $sth->execute("ready_to_eat", $compiled_regex); # later my $sth = $dbh->prepare("select value from regexes where name = ?"); my $rc = $sth->execute("ready_to_eat"); my @values = map { $_->value } $sth->fetchrow_array({}); # or something, look in the DBI docs # convert back to compiled regex for (@values) { $_ = qr/$_/; };