#!/usr/bin/perl
#------------------------------------------------------------------------------

#----------------#
# Glob.Variable: #
#----------------#

$fn_entries="./browserinfo.csv";
$error_0="./antwortseite.HTML";

#----------------#
# Hauptprogramm: #
#----------------#

if (&GetInput){
	if($form{'h_brwinf'}){
		open(FILE, ">>$fn_entries"); #append
		print FILE $ENV{'REMOTE_HOST'} . ";";
		print FILE $ENV{'REMOTE_ADDR'} . ";";
		print FILE $form{'h_brwinf'} . "\n";
		close(FILE);
	}	
	print "Content-type: text/HTML\n\n";
	open(HTMLFILE,"$error_0"); 
	while(<HTMLFILE>) {print;} close(HTMLFILE); 
exit;
} else { die "FEHLER: Keine Daten von HTML vorhanden!\n"; }

#----------------#
# Unterroutinen: #
#----------------#

sub GetInput {
	if ($ENV{'REQUEST_METHOD'} eq "POST") {
	read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
	} elsif ($ENV{'REQUEST_METHOD'} eq "GET" ) {
	$buffer = $ENV{'QUERY_STRING'};
}
	if($buffer) {
		@pairs = split(/&/, $buffer);
		foreach $pair (@pairs) {
			($name, $value) = split(/=/, $pair);
			$value =~ s/\+/ /g; # Un-Webify plus signs and %-encoding
			$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
			$value =~ s/~!/ ~!/g;
		    $form{$name} = $value;
		}
	1;} else { 0;}
}

