in reply to Handling incoming HTTP PUT - RESUME (partial content) in cgi

At present I have a Perl cgi script which acts as a server
That doesn't make any sense. CGI is a protocol between an http server and a program spawned by said server. The spawned program is known as the CGI program.

If your program is a server, there's no second process to communicate with. There's no CGI involved.