Ohh... nice little snippet. Building on this, you can use this snippit in the cgiapp_prerun method of a CGI::Application module to have all of your run modes cache-free. :)
package TestApp;
use strict;
use warnings;
use base 'CGI::Application';
use POSIX;
sub setup {
my $self = shift;
$self->start_mode('index');
$self->run_modes(index => 'TestAppIndex');
}
sub cgiapp_prerun {
my $self = shift;
$self->header_props(
# date in the past
-expires => 'Sat, 26 Jul 1997 05:00:00 GMT',
# always modified
-Last_Modified => strftime('%a, %d %b %Y %H:%M:%S GMT', gmtime
+),
# HTTP/1.0
-Pragma => 'no-cache',
# HTTP/1.1
-Cache_Control => join(', ', qw(
no-store
no-cache
must-revalidate
post-check=0
pre-check=0
)),
);
}
sub TestAppIndex {
return 'Hello, world!';
}
1;
|