Thread Merkwürdige Einträge im Error Log.
(13 answers)
Opened by cbxk1xg at 2005-06-28 18:19
Hallo Freunde der Sonne!
Ich dachte eigentlich das ich mit -T, strict und warnings auf der sicheren Seite sein sollte. Was die Ausführung des Skripts betrifft, stimmt das auch. Der Interpreter beschwert sich nicht. Daher dachte ich, es ist alles in Ordnung. Nach dem ich gerade mal das Error Log des Servers aufgerufen habe, bin ich mir da nicht mehr so sicher. Eigentlich sollte innerhalb einer SUB eine Vordeklarierung mit my doch eigentlich dafür sorgen, dass alles glatt geht, oder? Stattdessen spammed mir Perl das Error Log voll. Das man das Parsen auch eleganter mit einem Modul, lösen kann, weiss ich. Darum geht es aber nicht. Die Fehlermeldungen ziehen sich durch das ganze Skript. Diese Sub ist nur wesentlich übersichtlicher als die anderen. Hat jemand eine Idee, was das verursacht??? Code: (dl
)
1 # Error Log des Servers (Apache) - Nur ein Auszug Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 #!/usr/bin/perl -T use strict; use warnings; use CGI::Carp qw(fatalsToBrowser); # Das ist nur ein Auszug aus einem großen Skript! sub ParseGet { my $buffer = $ENV{QUERY_STRING}; my @pairs = split(/\s/, $buffer); my %FORM = (); for my $pair (@pairs) { my ($name, $value) = split(/=/, $pair); # Line 891 -> 899 $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s/<;!--(.|\n)*-->;//g; $value =~ s/\s-\w.+//g; $value =~ s/system\(.+//g; $value =~ s/grep//g; $value =~ s/\srm\s//g; $value =~ s/\srf\s//g; $value =~ s/\.\.([\/\:]|$)//g; # Line 899 <- 891 $FORM{$name} = $value; } } |