Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re^2: Learning Template Toolkit Module

by jedikaiti (Friar)
on Mar 10, 2010 at 21:08 UTC ( #827897=note: print w/ replies, xml ) Need Help??


in reply to Re: Learning Template Toolkit Module
in thread Learning Template Toolkit Module

Yea, I've been digging through the documentation on the site, but so far it's not all that helpful. Great on making the templates work, but not so much for getting it to go to a file instead of STDOUT. Either that or I'm missing it.

I know the answer is probably something unbelievably simple, but I am just learning Perl, too, so I do sometimes need the obvious pointed out to me.

Here, let me include the (short) code I am playing with as a learning exercise ATM:
#!/usr/bin/perl -w
use Template;
my %info = ( ProjName => 'Test Project',
DocName => 'Test Document' );
print ("Hello!\n");
open(INPUT,"start.pm") || die "Can't open input file: $!";
open(OUTPUT,">testout.txt") || die "Sorry, no can do: $!";
while(<INPUT>) {
print OUTPUT $_;
}
my $tt = Template->new;
$tt -> process('template', \%info) || die $tt->error;
print OUTPUT $tt;
close(INPUT) || die "Can't close input : $!";
close(OUTPUT) || die "Can't close output : $!";

Comments on anything else I could be doing better are, of course, appreciated as well.

Thanks again!
Kaiti


Comment on Re^2: Learning Template Toolkit Module
Re^3: Learning Template Toolkit Module
by trwww (Priest) on Mar 10, 2010 at 22:30 UTC

    Yea, I've been digging through the documentation on the site, but so far it's not all that helpful. Great on making the templates work, but not so much for getting it to go to a file instead of STDOUT. Either that or I'm missing it.

    Its definitely all there:

    Documentation for the ->process method

    Quoted here:

    By default, the processed template output is printed to STDOUT. The process() method then returns 1 to indicate success. A third parameter may be passed to the process() method to specify a different output location. This value may be one of: a plain string indicating a filename which will be opened (relative to OUTPUT_PATH, if defined) and the output written to; a file GLOB opened ready for output; a reference to a scalar (e.g. a text string) to which output/error is appended; a reference to a subroutine which is called, passing the output as a parameter; or any object reference which implements a print() method (e.g. IO::Handle, Apache::Request, etc.) which will be called, passing the generated output as a parameter.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://827897]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (12)
As of 2014-12-18 21:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (66 votes), past polls