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;
$value =~ s/~!/ ~!/g;
$FORM{$name} = $value;
}
$mailprog = "/usr/lib/sendmail";
TIA and apologies if its a daft question. Just finding my way.
Stuart
------ read in posted data from stdin ------
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
------ put name=value pairs into array -----
@pairs = split(/&/, $buffer);
----- for each pair get the name and value ---
foreach $pair (@pairs)
{
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/~!/ ~!/g;
----- store the name value pairs in a hash ---
$FORM{$name} = $value;
Is that what you want?