in reply to timeout on a valid long process
Who's timing it out? A webserver? If so, just read up on auto flushing ($|) and print some null bytes (\0) to the browser every now and then, to keep the connection alive.
Update: ... and you can read a column by merlyn on watching long processes through CGI.
In Section
Seekers of Perl Wisdom