Infelizmente, o
quote()
real comportamento nem sempre é uma característica portátil, então cada driver irá fazê-lo de forma diferente. A menos que você se conecte a um driver, você não sabe qual formato de cotação usar na prática. (Existe um módulo que pode fazer isso sem uma conexão, DBIx::Abstract
, mas não é especialmente atual.). A
quote()
é realmente implementado pela classe de driver correspondente, no DBD::*
namespace. Você pode tente carregar o driver que você precisa e chame a função diretamente (veja http://search.cpan.org/~timb/DBI-1.616/lib/DBI/DBD.pm#Writing_DBD::Driver::db::quote ), mas isso parece sujo. Eu ainda faria um
DBI
conexão, apenas para que você obtenha o formato correto de cotação. Na verdade, você não precisa enviar nenhuma instrução, mas sabe que o formato de cotação estará correto para o banco de dados que você usará.