[Templates] Re: Template with Win32-ASP on Server 2003 ActivePerl
Robert Hicks
sigzero@gmail.com
Wed, 07 Jun 2006 21:26:54 -0400
Andersen, John P. wrote:
> I am having a difficult time getting this combp working. I'm sure I'm
> just missing something easy.
>
> My environment (no option to change here, unfortunately)
>
> Windows Server 2003 Standard
> IIS 6
> ActivePerl 5.8.8 Build 817
> Template-Toolkit 2.15
>
> I will be as brief as possible.
>
> If I run the test.pl script from the command line, I get the proper
> HTML, so I know Template is working. I can then open the .html file and
> things work just fine. Here is what it returns:
>
> #=== output from "perl test.pl" > test.html ===#
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
>
> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
>
> <head>
> <title>
> TT Test</title>
> </head>
> <body>
> <h1>TT Test</h1>
> <p>This should print "blah": blah</p>
> </body>
> </html>
> #=======================================================================
> ===============================#
>
>
> If I use it in CGI mode, I get this error:
> CGI Error
> The specified CGI application misbehaved by not returning a complete set
> of HTTP headers.
>
> If I use it in ASP mode with Win32::ASP, I get a blank page with no
> errors.
> I havn't tried ISAPI mode.
>
> Any idea how to make ASP, Template, and Win32::ASP work together?
>
> Here are my files:
>
> (CGI Mode)
> #==== test.pl =====#
> #!/usr/bin/perl
On Windows (with ActivePerl) this is just #!perl
>
> use strict;
> use warnings;
> use Template;
> $| = 1;
>
# You need to send the HTTP header
#
print "Content-Type: text/html\n\n"
> my $config = {
> INCLUDE_PATH => 'C:\\Sites\\testnet\\src',
> INTERPOLATE => 1,
> POST_CHOMP => 1,
> PRE_PROCESS => 'header.inc',
> EVAL_PERL => 1,
> };
>
> my $t = Template->new($config);
>
> my $vars = {
> title => 'TT Test',
> var1 => 'blah',
> };
>
> my $input = 'test.tt';
>
> $t->process( $input, $vars ) || die $t->error();
> ###############################################################
>
> #=== header.inc ===#
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
>
> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
>
> <head>
> <title>
> [% title %]
> </title>
> </head>
>
> ###############################################################
>
> #=== test.tt ===#
> <body>
> <h1>[% title %]</h1>
> <p>This should print "blah": [% var1 %]</p>
> </body>
> </html>
>
> ##############################################################