“Stale data in a cache, load-balancer, proxy server, etc. etc.” immediately comes to mind. Especially since it seems to happen when you press Refresh, especially several times in a row. If the URL that is being accessed is flagged somewhere as being “cacheable,” and if the content of the URL-string is not sufficiently distinct, some cache somewhere along the food-chain could decide that the Perl server doesn’t need to be contacted at all. It will serve-up old data that is unfortunately stale. Yet it does consist, if you notice, of things that you retrieved recently.
It is quite possible that “mod_perl” is actually a red-herring in this situation. The data is not necessarily being cached by Perl or by Apache.