Reiner Rusch: Funktion "pack()"

Beitrag lesen

Hallo Jörk, hallo kaepten,

Um nun einen solchen String in Perl vernünftig verarbeiten zu können. Müßen die Hex-Repräsentationen in "echte" Character (dafür das 'C') gewandelt werden. Dazu werden

ich habe noch was zur Verdeutlichung, was wohl in Deinem (keapten) Gästebuch so ähnlich stehen mag:

read (STDIN,$eingabe,$ENV{'CONTENT_LENGTH'});
@eingabe=split(/&/,$eingabe);

foreach $i (0..$#eingabe)
{
  $eingabe[$i]=~ s/+/ /g;
  $eingabe[$i]=~ s/%(..)/pack("c",hex($1))/ge;
  ($feldname,$wert)=split(/=/,$eingabe[$i],2);
  $eingabe{$feldname}=$wert;
}

Damit wird aus dem per post (html-formular) gesendeten Datenstrom wieder die Zugehörigkeit der Werte zu den einzelnen Variablen restauriert, d.h. der Wert <value>, der im <input>-Feld mit dem Namen <name> eingelesen wurde, läßt sich dann hier so wieder auslesen und weiterverarbeiten:

Bsp. aus dem HTML-Code:
<input type="text" name="pass1" size=10>

Verarbeitung unter Perl:

$wert=$eingabe{'pass1'};

Alles Gute,
Reiner

$eingabe