At one point, many moons ago, while developing CGI and finding that I had caching issues (Although I don't recall the specifics of what exactly was getting cached when I didn't want it to) I added this to the CGI header:
print $q->header(-expires => '-1d');
I've never had a caching issue since. Perhaps this is overkill, and perhaps its not necessary, but at the time this was the only option that appeared to make a difference.
For what its worth,
-- Alexander Widdlemouse undid his bellybutton and his bum dropped off --