#!/usr/local/bin/perl

use CGI;
use vars qw(%in);

&init_hash;
$fname = &process_uploaded_file if($in{'upfile'});
$fsize = -s $fname;

print "Content-Type: text/plain\r\n\r\n";
print "in{'upfile'}=",$in{'upfile'},"\r\n";
print "in{'desc'}=",$in{'desc'},"\r\n";
print "fname=",$fname,"\r\n";
print "fsize=",$fsize,"\r\n";

sub init_hash{
	$in{'q'} = new CGI;
	$in{'desc'} = $in{'q'}->param('desc');
	$in{'upfile'} = $in{'q'}->param('upfile');
	$in{'upfh'} = $in{'q'}->upload('upfile') if($in{'upfile'});
}

sub process_uploaded_file{
	my $fname = time.'.bin';
	open(OUT,'>',$fname) || die('open file failed');
	while(my $read = read($in{'upfh'}, my $buff, 4096)){
		print OUT $buff;
	}
	close(OUT);
	eval { close($in{'upfh'}); };
	return $fname;
}
