Skip Menu |
 

This queue is for tickets about the Template-Toolkit CPAN distribution.

Report information
The Basics
Id: 18653
Status: resolved
Priority: 0/
Queue: Template-Toolkit

People
Owner: Nobody in particular
Requestors: BARBIE [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 2.14
Fixed in: (no value)



Subject: Bad parsing of INCLUDE directives
Download (untitled) / with headers
text/plain 1.3k
I have two installations of Template Toolkit, 2.08 on Windows XP and 2.14 on Debian Linux. The first works fine, the second fails. Had it have been the other way around I wouldn't have worried too much ;) In the file main.html I have: ---- >8 cut here 8<---- <P>blah blah blah [% IF data.location %][% INCLUDE "events/location-${data.location}.html" %][% END %] ---- >8 cut here 8<---- The file events/location-oldjointstock.html contains: ---- >8 cut here 8<---- <P>blah blah blah ---- >8 cut here 8<---- If data.location contains the string "oldjointstock" the 2.14 version balks in the apache log file with: "undef error - Can't use string ("events/location-oldjointstock.ht") as a HASH re f while "strict refs" in use at /usr/local/lib/perl/5.8.7/Template/Provider.pm l ine 690." but on the 2.08 version it renders the page fine. even changing the include line to: [% IF data.location %][% x = "events/location-${data.location}.html" %][% INCLUDE $x %][% END %] doesn't work either :( However, if the file events/location-oldjointstock.html contains: ---- >8 cut here 8<---- <P>blah blah blah ---- >8 cut here 8<---- Note an additional blank line at the end, both versions work fine! Aside from the error message being misleading, whether an include file contains a blank line at the end or not, should not kill the parser.


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.