Hallo,
Du solltest die „Vars“-Funktion aus CGI.pm verwenden wenn Du Formulardaten ausliest:
#!/usr/bin/perl
use strict;
use warnings;
use CGI;
my $cgi = CGI->new();
my %params = $cgi->Vars();
Aber zu Deinem Problem:
$value=~s/%FC/?; #=Line 60
$value=~s/%F6/?;
muss
$value=~s/%FC/?/; #=Line 60
$value=~s/%F6/?/;
heissen.
Hallo zusammen,
wer kann mir bei folgender Fehlermeldung helfen?
[Tue Aug 21 13:44:17 2007] [error] [client 78.51.52.113] [Tue
Aug 21 13:44:17 2007] anmelden.pl: Operator or semicolon
missing before %F6 at anmelden.pl line 60., referer:
http://www.letsfind.de/
[Tue Aug 21 13:44:17 2007] [error] [client 78.51.52.113] [Tue
Aug 21 13:44:17 2007] anmelden.pl: Ambiguous use of % resolved
as operator % at anmelden.pl line 60., referer:
http://www.letsfind.de/
Scriptauszug:
@pairs=split(/&/,$buffer);
foreach $pair (@pairs) {
($name, $value)=split(/=/,$pair);
$value =~ tr/+/ /;
$value=~s/.25_.25/._./gi;
$value=~s/.25jj.25/.jj./gi;
$value=~s/.25$crawlersoft.25/.$crawlersoft./gi;
$value=~s/%3A/:/gi;
$value=~s/%3D/=/gi;
$value=~s/%2F///gi;
$value=~s/%20/ /;
$value=~s/%40/@/gi;
$value=~s/%2B/+/gi;
$value=~s/%28/(/gi;
$value=~s/%29/)/gi;
$value=~s/%DF/ß/gi;
$value=~s/%0D%0A/\
/gi;
$value=~s/%FC/?; #=Line 60
$value=~s/%F6/?;
$value=~s/%EB/믧i;
$value=~s/%E4/䯧i;
$value=~s/%D6/Ö¯gi;
$value=~s/%DC/ܯgi;
$value=~s/%CB/˯gi;
$value=~s/%C4/įgi;
$value=~s/%A2/?/gi;
$value=~s/%24/$/gi;
$value=~s/%2C/,/gi;
$value=~s/%7C/|/gi;
$value=~s/%26/&/gi;
$value=~s/%7E/~/gi;
$value=~s/%21/!/gi;
$value=~ s/\n/ /g;
$input=~ s/\n/ /g;
$f{$name}=$value;
}
Danke schon mal im vorraus für Eure Hilfe
Gruß Thomas