in reply to Data Missing?

This might just solve your problem (I've never gotten the "Expires" header to do what I want). It causes the CGI script to be treated the same as an HTML page for purposes of caching.
print "Content-type: text/html\nCache-Control: public\n\n";