On Dec 19, 2007 10:54 AM, Alex Teslik <[EMAIL PROTECTED]> wrote:
> On Wed, 19 Dec 2007 14:02:59 +0100, Rhesa Rozendaal wrote
> >
> > There's a conflict between indenting your template for readability,
> > and the amount of whitespace that ends up in the output.
> >
>
> Very well put!
>
> I beat this horse more deader a while back (and someone before me beat it
> dead
> too):
>
>
> http://www.mail-archive.com/html-template-users@lists.sourceforge.net/msg01959.html
>
>
It seems to me that the arguments in the conversation that links to are
pretty well put, too. A simple filter added to the program does the trick:
1 #!/usr/local/bin/perl
2
3 use strict;
4 use warnings;
5 use HTML::Template;
6
7 my $html_template_filter = sub {
8 my $sref = shift;
9 for( $$sref ) {
10 s| <TMPL_LOOP (.*?)>\s* |<TMPL_LOOP $1>|gx;
11 s| </TMPL_LOOP>\s* |</TMPL_LOOP>|gx;
12 }
13 };
14
15 my @array = <DATA>;
16 my $template = HTML::Template->new( arrayref => [EMAIL PROTECTED],
17 filter => $html_template_filter );
18 $template->param( loop => [
19 {line => "line1"},
20 {line => "line2"},
21 {line => "line3"},
22 ] );
23 my $stuff = $template->output;
24 print $stuff;
25
26 __DATA__
27 ##########################################
28 <TMPL_LOOP name="loop">
29 <TMPL_VAR name="line">
30 </TMPL_LOOP>
31 ##########################################
Output:
##########################################
line1
line2
line3
##########################################
(Assuming that's the trick I wanted.) It's relatively easy for me to figure
out how to filter the template to produce the plain text I want. Maybe
that's not so easy for a novice. Maybe a cookbook for this sort of thing
could be helpful for novices and everyone else, too. And/or as someone
mentioned, a library of common filters.
And while it's easy for me to figure this out, I have a hard time believing
that it would be easy for H::T to know exactly what I want. But what if
there were a good mechanism for communicating that. Wait, that
describes filters ...
Regards,
-- Brad
-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services
for just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Html-template-users mailing list
Html-template-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/html-template-users