Frank Schönmann: Perl-Script mit Link aufrufen

Beitrag lesen

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!