Thread: [htmltmpl] HTML::Template Caching Problems
Brought to you by:
samtregar
From: Patrick H. <ph...@ex...> - 2005-01-12 18:18:44
|
I have two standard templates that all my pages use: headers.shtml and = footers.shtml. However, it seems as if one of my CGI files is reading the = headers.shtml file from an older cached version while my other CGI file is = reading the the more recent one. I've checked directories containing both files as well as the directory = with the .shtml files to see if there are hidden or cache files but there = are none. The changes I made yesterday were simply adding two links. I have a = couple more html and shtml files that have picked up the changes just = fine. This is what's contained in both files: use HTML::Template; ... my $header_template =3D HTML::Template->new(filename=3D>'/var/www/html/head= ers.shtml'); my $footer_template =3D HTML::Template->new(filename=3D>'/var/www/html/foot= ers.shtml'); ... print $header_template->output; ... print $footer_template->output; ... I have also checked Template.pm to make sure caching was turned off. Any = ideas? |
From: Sam T. <sa...@tr...> - 2005-01-13 04:48:54
|
On Wed, 12 Jan 2005, Patrick Humpal wrote: > I have two standard templates that all my pages use: headers.shtml > and footers.shtml. However, it seems as if one of my CGI files is > reading the headers.shtml file from an older cached version while my > other CGI file is reading the the more recent one. Are you sure you're looking at the right CGI? What happens if you put this right at the top of the bad CGI: die("HELLO!"); Do you see an ISE when you hit the CGI? Do you see HELLO! in the error logs? I do this test whenever nothing I do seems to work right just to be sure I'm editing the right file. Do you see the bad behavior if you run the CGI from the command-line? If not then you've probably got something wrong or different in the server configuration which is affecting your script. Are you running in Apache/mod_perl with Apache::Registry perhaps? If so you may be experiencing the effects of unintended closure usage. > use HTML::Template; > ... > my $header_template = HTML::Template->new(filename=>'/var/www/html/headers.shtml'); > my $footer_template = HTML::Template->new(filename=>'/var/www/html/footers.shtml'); That's not really enough code to debug. I can see you're not using any caching options but I can't really see what else you might be doing wrong... -sam |