#!/usr/bin/perl

use strict;
use warnings;
use CGI;
use CGI::Carp qw(fatalsToBrowser);

my (
    $Daten, $value, $name, $text,  $anhang, $input,
    $q,     $key,   $wert, $param, %result, $uid
);
my %Formular;
my @Formularfelder;

#$anhang = $ENV{'QUERY_STRING'};
read( STDIN, $Daten, $ENV{'CONTENT_LENGTH'} );
print $Daten;
&verarbeiten;

sub verarbeiten {
    @Formularfelder = split( /&/, $Daten );
    foreach my $Feld (@Formularfelder) {
        ( $name, $value ) = split( /=/, $Feld );
		$value=~ s/\<26\>/&/;
        	$value =~ tr/+/ /;
        	$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
        $Formular{$name} = $value;
    }
}
$uid=$Formular{ID};
chomp$uid;
my @test=$Formular{req};
my @schluessel = keys(%Formular);
@schluessel = reverse @schluessel;
my @values = values(%Formular);
@values = reverse @values;

# Folgend Test-Script

open OUT,">test";
print OUT "\@schluessel: @schluessel\n\@werte: @values\n\n";
print OUT $Daten;
close OUT;

# Test
$uid=$uid.'.html';
my $x=0;
open( OUT, ">/var/www/$uid" );
print OUT (
'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US"><head>
<title>CGI-Feedback</title><body><h1>CGI-Feedback vom Programm  <i>recieve</i></h1>'
);
foreach (@schluessel) {
    print OUT ( '<p><B>Feldname: </B>'
          . $schluessel[$x]
          . ' <B> Inhalt: </B>'
          . $values[$x]
          . '<br>' );
    $x++;
}
print OUT ('</body></html>');
close OUT;
sleep(180);
system "rm /var/www/$uid";
__END__
