in reply to Re: Re: quotemeta %
in thread quotemeta and \% to insert perl code into database

The reason is that quotemeta is used to escape strings for regular expressions and $dbh->quote is used to escape strings for a particular database. For most databases, the only characters that need to be escaped are quotes. Regular expression have many more characters that need to be escaped. My guess is that the database does not unescape some of the escape characters.
print $dbh->quote("foo\"%!bar"); print quotemeta("foo\"%!bar");
Prints:
'foo%"!bar' foo\"\%\!bar