Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

Totally Simple Templates

by japhy (Canon)
on Jan 24, 2001 at 06:14 UTC ( #53860=sourcecode: print w/replies, xml ) Need Help??
Category: Text Processing
Author/Contact Info Jeff japhy Pinyan
Description: Using my recently uploaded module, DynScalar, template woes are a thing of the past. By wrapping a closure in an object, we have beautiful Perl code expansion.
The following is an over-simplified example.

# coming to your CPAN mirror soon
use DynScalar 'newTemplate';
use strict;
use vars '$data';  # has to be package var

my $template = newTemplate {
  my $out = << "END";

Hello, <b>$data->{USER}</b>.  You've been here
$data->{COUNT} times.



  for (@{ $data->{NODES} }) {
    $out .= qq{<li> <a href="$_->{href}">$_->{name}</a>\n};

  $out .= "</ul>\n";


$data = getInfo(magically_determine_user());
print HTML_page($template);
Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: sourcecode [id://53860]
[Corion]: hippo: Yes, but I'm not sure that it's even worth the effort of implementing it at all...
[Corion]: You'll only ever need that option if you have a long-running query whose results are not cached by your DB already, and in those cases I presume that the programmer will want to maintain the temporary tables themselves - I wouldn't know when to drop ...
[Corion]: ... the temporary tables, and also don't have a good idea on how to create unique table names for them
[hippo]: OIC. In that case leave it out but invite feature requests and see if any of the users suggest it. :-)
[Corion]: Talking about this makes me realize that it's likely only a half useful idea. But it still would be convenient to have as an option...
[Corion]: hippo: Hmmm - yeah, I could document it and wait for code implementing that option to show up ;-D

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (11)
As of 2017-02-23 15:36 GMT
Find Nodes?
    Voting Booth?
    Before electricity was invented, what was the Electric Eel called?

    Results (347 votes). Check out past polls.