I don't think it's a perl thing - i've given perl loops that take days to chew. Is this a CGI script? that could be a more reasonable explanation, as a timeout is usually associated with requests. It's simply not logical that perl/Perl would enforce such a thing.
A possible solution could be the to make a script which forks, one process printing an HTML page which redirects to a file, and the other writing the output data to the file, allowing the user to refresh when appropriate.
Update: Disambiguated lexical sub-object relation by s/a/the/.