if (!fork) { # doing stuff in child process... # open your file handle here while (my $bytesread = read($filesource, my $buffer,1024)) { print OUTFILE $buffer; } # you could also write to a 'status' file and display that back to the client ;) exit; } print $cgi->header(); print "Your upload is in process... see this status.html page for the status (changes every once in awhile :)\n"; exit; #### $"=q;grep;;$,=q"grep";for(`find . -name ".saves*~"`){s;$/;;;/(.*-(\d+)-.*)$/; $_=["ps -e -o pid | "," $2 | "," -v "," "];`@$_`?{print"+ $1"}:{print"- $1"}&&`rm $1`; print$\;}