Der richtige Weg, Daten zum Einfügen in Ihre Datenbank zu bereinigen, ist die Verwendung von Platzhaltern für alle Variablen, die in Ihre SQL-Strings eingefügt werden sollen. Mit anderen Worten, tun Sie dies NIEMALS:
my $sql = "INSERT INTO foo (bar, baz) VALUES ( $bar, $baz )";
Verwenden Sie stattdessen ?
Platzhalter:
my $sql = "INSERT INTO foo (bar, baz) VALUES ( ?, ? )";
Und übergeben Sie dann die zu ersetzenden Variablen, wenn Sie die Abfrage ausführen:
my $sth = $dbh->prepare( $sql );
$sth->execute( $bar, $baz );
Sie können diese Operationen mit einigen der praktischen DBI-Methoden kombinieren; obiges kann auch geschrieben werden:
$dbh->do( $sql, undef, $bar, $baz );
Siehe DBI-Dokumentation für weitere Informationen.