Thread CGI::Sessions auf fremdem Server leben nur Sekunden! (11 answers)
Opened by sman at 2009-11-22 06:42

Gast sman
 2009-11-22 15:00
#128432 #128432
Hallo,
von CGI::Session nutze ich ja fast alle Funktionen, und vieles davon ist wesentlich komprimierter geschrieben als ich es könnte. CGI.pm allerdings ist riesig und ich nutze davon höchstens das Abfragen der übergebenen Parameter. Deswegen wollte ich es lieber weglassen. An ::Simple hab ich noch nicht gedacht, aber nun habe ich schon viel Code geschrieben und mag nicht so richtig alles umschreiben, wenn es keinen wirklich überzeugenden Grund gibt. Ich glaub euch gern, aber bisher habe ich noch Probleme das einzusehen.

Meine eigentliche Parameterabfrage ist wesentlich komplizierter, weshalb ich selbst mit CGI viel schreiben müsste, und dachte es käme aufs gleiche hinaus:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
our %PARAM = ();
my $query = $ENV{'QUERY_STRING'};
read STDIN, $query, $ENV{'CONTENT_LENGTH'} if $ENV{"REQUEST_METHOD"} eq 'POST';
foreach (split /&/, $query) { $PARAM{lc($1)} = &CleanQuery($3) if /^([^=]+)(=(.+))?$/; }

sub CleanQuery # param
{
        my $p = shift;
        $p =~ s/%0D%0A/\n/g;
        $p =~ tr/+/ /;
        $p =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
        return $p;
}


Meint ihr, CGI::Simple würde mir deutlich mehr an Performance geben? Ich weis auch nicht, was ein "getestetes" Modul besser können könnte als der obige Code.

View full thread CGI::Sessions auf fremdem Server leben nur Sekunden!