in reply to Speed, and my sanity.

Which web server are you using? If you're using Apache or Zeus, then I must recommend using FastCGI. Basically, if your program looked something like this:

my $cgi = new CGI; $my_code->{$cgi->param("action"))->($cgi);

You'd change it to:

my $req = FCGI::Request(...); while ($req->Accept()) { my $cgi = new CGI; $my_code->{$cgi->param("action"))->($cgi); }

Then your perl program is just sitting in a little loop calling the code to generate a page when the web server connects to it. You should be able to get of the order of hundreds of dynamic page impressions per second. I'm getting 50 a second with a project I'm working on on my system, which includes some heavy database access.