A maneira correta de limpar os dados para inserção em seu banco de dados é usar espaços reservados para que todas as variáveis sejam inseridas em suas strings SQL. Em outras palavras, NUNCA faça isso:
my $sql = "INSERT INTO foo (bar, baz) VALUES ( $bar, $baz )";
Em vez disso, use
?
marcadores de posição:my $sql = "INSERT INTO foo (bar, baz) VALUES ( ?, ? )";
E então passe as variáveis a serem substituídas quando você executar a consulta:
my $sth = $dbh->prepare( $sql );
$sth->execute( $bar, $baz );
Você pode combinar essas operações com alguns dos métodos de conveniência do DBI; acima também pode ser escrito:
$dbh->do( $sql, undef, $bar, $baz );
Consulte os documentos DBI Para maiores informações.