The problem seems to be there aren't always enough resources available for Perl to read this into memory. Instead of dealing with that whole chunk of data as a scalar, I would want CGI to save it to disc somewhere and just point me to the file.
To me that is a different problem than a Perl issue. Almost sounds systemic to me. If, for example, you are running this code on a system with 4Gb of RAM (pretty common these days) and you are running out of memory then you need to constrain the data to be in smaller chunks.
Peter L. Berghold -- Unix Professional
Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg