Liebes Forums-Orakel,
mein Perl-Skript liest übermittelte Formularfelder ein und schreib diese in MySQL. Nun ist besonders hinderlich, wenn jemand " Hochkommas eingibt, denn dann wird nichts hineingeschrieben. Ich habe deshalb folgendes geschrieben:
$Frage = $query->param('Frage');
$Frage =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$Frage =~ s/"/\"/g; #Anf¸hrungszeichen maskieren
$Frage =~ s/'/\'/g;
Das funktioniert. Dumm nur, dass ich es auf alle möglichen Felder anwenden will, die ganze Wurst aber nicht zig-fach schreiben will.
wie geht das, wenn ich folgendes will:
$Frage = $query->param('Frage');
&form_verarbeiten;
sub form_verarbeiten
{
(was kann ich hier schreiben?) =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
(was kann ich hier schreiben?) =~ s/"/\"/g; #Anf¸hrungszeichen maskieren
(was kann ich hier schreiben?) =~ s/'/\'/g;
}
Mit $_ funktioniert das leider nicht.
Vielen Dank, Martino