ohh, ich glaub ich weiss nicht, wie ich das gescheit erklären soll :-/ so werde ich einfach mal den Code hier hinschreiben, den ich versucht habe zum laufen zu bekommen
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "CGI-Feedback\n";
$Daten = $ENV{'QUERY\_STRING'};
$Daten =~ tr/+/ /;
$Daten =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$Daten =~ s///g;
@temp = split(/\&/, $Daten);
foreach $test (@temp) {
($get1, $get2) = split(/\=/, $test);
%test = ($get1, $get2); #irgendwie sollte das hier gepusht werden, kein plan wie
}
print "$test{'action'}
";
print "$test{'value'}";
was ich versuche zu beabsichtigen ist folgendes:
ich sende Daten zu dem script via GET methode so:
test.pl?action=test&value=hallo
was ich mit dem script jetzt erreichen wollte ist, das es egal ist, in welcher Reihenfolge ich die Daten per get übersende ich die Daten auslesen wollte. Wenn ich das so in den Hash reinschreibe, wird aber immer wieder der Wert mit dem letzten übersanten überschrieben . Ich müsste quasi so was ähnliches wie ‚push‘ benutzen, um die Daten in den Hash zu schreiben, damit der letzte wert nicht wieder überschrieben wird.
Ich hoffe ich habe das einigermassen umschreiben können
Ich habe den code versucht auszuprobieren. Funzt aber ned Ich bekomme nur die Fehlermeldung, das das Script nicht fehlerfrei ausgeführt werden könne
Mal abgesehen davon, das ich das mit dem use CGI; ehe nicht versetehe, da ich eben noch ned so weit bin *schäm*
Gibt´s dafür eine deutsch Anleitung ?
#!/usr/bin/perl
use CGI; #cgi-modul laden
use strict; #variablen-deklaration (my ..) erzwingen.
my $q=new CGI; my %hash; my $l;
print $q-\>header; print $q-\>start\_html;
foreach $l ($q-\>param) {
$hash{$l}=$q-\>param($l); print 'name: '.$l.' value:
'.$hash;
}
print $q-\>end\_html;
Hohi,
also bis auf den kleinen Tippfehler (siehe fettdruck) müßte das eigentlich laufen.
Zur Erläuterung: Das CGI-Modul (Einbindung: use CGI:wink: ist ein Modul mit vielfältigen Funktionen zur CGI-Programmierung. U.a. übernimmt es das (SICHERE) dekodieren von Query-Strings (Eingaben aus dem Browser)
Es ist besser dieses Modul zu benutzen, als die Parameter selbst auszuwerten, da man dabei leicht felher macht (Sicherheistlücke!!).