note
andye
[varian] has some good points on the way mod_perl works. That could be your problem.
<p>
This could also be a caching issue, and nothing to do with mod_perl: what happens is that the browser, or a proxy server at the ISP, caches the web page that you produce.
<p>
So, when the user requests the same page again, it's served out of the cache, rather than being requested again from your server.
<p>
Obviously this is great for static content, but a bit of a problem for content that changes each time it's requested. It can't always be solved by getting the user to change their browser settings (even if that were practical for a public site, which it usually isn't) because the problem can also be caused by reverse caching proxy servers between your server and the user. AOL used to be particularly bad for this, I don't know if they still are.
<p>
Anyway, the solution I've always used, which has the virtue of simplicity, is to append the time to the end of the URL when you request it. Obviously you need to arrange things so that the link to the dynamic page is itself dynamically generated. So you just need to make your HTML something like this:
<p>
<code>'<A HREF="http://www.example.com/script.pl?r='.time().'">'</code>
<p>
The reason that works is that the caching proxy server - or the browser - sees it as a request for a different URI to the previous one, so doesn't return the cached copy.
<p>
You can also play around with HTTP headers and so on to (in theory) prevent caching - my experience has been that this will work OK for the browser, but not necessarily for caching proxy servers.
<p>
HTH!
<p>
Best wishes, [andye]
610687
610687