|
|
 |

|

 |

| Community » Perl: Allgemeines Forum |
|
Argumente von STDIN zerlegen und ansprechen
|
Seitenanfang |
| Hallo, ich bekomme von einer HTML-Seite per STDIN die Argumente eines Formulars. Wenn ich die Variable davon mit $var ausgebe, sehe ich einen Aufbau Key1=Value1&Key2=Value2&Key3... Jetzt will ich an die einzelnen Argumente heran und kriege das nicht hin. Ist doch bloß eine einfache Indizierung. Wie mache ich das? $var->{'Key1'} ist genauso falsch wie $var[0]. Ich bekomme höchtens den Hashwert als ARRAY(0x04534) angezeigt. Ich will aber wissen, was in welcher Variable drin steht.
Datum: 26.06.2007-23:45

|
re: Argumente von STDIN zerlegen und ansprechen
|
Seitenanfang |
| Okay, mal als Egänzung: ich finde lauter Lösungen, wie man an die verschiedenen Zeilen der Übergabe herankommt. Nur habe ich bloß eine Zeile (so verstehe ich es jedenfalls), und darum weiß ich nicht, wie ich die Argumente trennen und verschiedenen Variablen zuweisen kann. Vielleicht ist jetzt klarer, was ich will.
Datum: 27.06.2007-15:35

|
re: Argumente von STDIN zerlegen und ansprechen
|
Seitenanfang |
Es ist keine gute Idee das haendisch zu machen, man nehme das Modul CGI und ein bisschen Code und alles andere geht von alleine.
#!/usr/bin/perluse strict; use warnings; use CGI; use CGI::Carp qw(fatalsToBrowser warningsToBrowser); my $cgi = CGI->new; # Zugriff auf die Parameter my $value1 = $cgi->param('Key1'); # oder die Parameter als Hash my(%params) = $cgi->Vars(); my $value2 = $params{'key2'}; # oder die Parameter als Hashreferenz (originale Parameterliste kann geaendert werden) my $params = $cgi->Vars(); my $value3 = $params->{'key3'}; $params->{'key3'} = 'new_value3';
Weitere Infos liefert die Dokumenation des CGI Moduls, ganz brauchbar ist auch ,,Modul CGI: Funktionen für die CGI-Programmierung'' von SelfHTML [1] [1] - Modul CGI: Funktionen für die CGI-Programmierung http://de.selfhtml.org/perl/module/cgi.htm
Datum: 27.06.2007-18:04

|
re: Argumente von STDIN zerlegen und ansprechen
|
Seitenanfang |
| Habe das jetzt durchgearbeitet, und es klappt gut. param() ist, was ich suchte. Danke für den Link.
Datum: 04.07.2007-15:40

|
|

|

|

|
 |

|

|
|