Hallo<br>Ich arbeite gerade erst neu mit Perl und habe eine kleine (triviale) Frage:<br>Es erfolgt ein Aufruf von einem Browser, z.B: anzeigen.pl?para1=Hallo! Wie kann ich diesen Parameter para1 in meinem Script abfragen?<br>Und Wie könnte ich noch einen zweiten Parameter mit geben???<br>GVT
Announcement
Collapse
No announcement yet.
Perl und Parameter?
Collapse
X
-
Du musst bei GET sowie POST erstmal die Parameter manuell in Arrays einlesen, und das geschieht so:
<b>für GET (also sowas wie: meinskript.cgi?para=1)</b>
<pre>$temp=$ENV{'QUERY_STRING'};
@pairs=split(/&/,$temp);
foreach $item(@pairs) {
($key,$content)=split (/=/,$item,2);
$content=~tr/+/ /;
$content=~ s/%(..)/pack("c",hex($1))/ge;
$QUERY{$key}=$content;
}</pre>
<br>
<b>für POST</b>
<pre>read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$FORM{$name} = $value;
}</pre>
Du kannst dann im Dokument auf die Parameter über $FORM{'para'} bzw. $QUERY{'para'} zugreifen, die Arraynamen sind natürlich beliebig.<br>
<br>
Comment