hi!
$query_string = ();
$key_value_pairs = ();
%FORM_SUCHE = ();
Was sollen immer diese Initialisierungen, noch dazu an dieser Stelle
mit Klammern? Perl initialisiert seine Variablen selbst. Wichtiger
wäre hier die Angabe eines Gültigkeitsbereichs:
my $query_string, $key_value_pairs, %FORM_SUCHE;
(*FORM_SUCHE) = @_;
Und du weißt natürlich genau, was dieses Konstrukt macht? Wenn nicht,
solltest du das vielleicht lieber rausschmeißen.
@key_value_pairs = split(/&/, $query_string);
my @key_value_pairs = ...
foreach $key_value (@key_value_pairs)
{
»» ($key, $value) = split(/=/, $key_value);
my ($key, $value) = ...
»» $value =~ tr/ +/ /;
tr/+/ /; müsste hier vollkommen reichen.
Im übrigen solltest du wirklich lieber das Modul CGI.pm verwenden.
Dann brauchst du auch dieses seltsame Konstrukt
(*FORM_SUCHE) = @_;
nicht mehr (dient vermutlich sowieso nur zu Testzwecken an dieser
Stelle). Und auch deine anderen Probleme dürftest du damit lösen.
bye, Frank!