Wednesday, December 10, 2008

Active Server Pages with Perl

You can create a simple framework to render html pages by using templates and embedded Perl code.

The html template page
<html> 
  <body>
    <h1><perl>localtime(time());</perl></h1>  
  </body>
</html>

The html rendering engine
#!/usr/bin/perl -w
use strict;

sub generateHTML {
  my @pass1 = split(/<\/perl>/, shift);
  my @html;

  foreach my $e (@pass1) {
  my @pass2 = split(/<perl>/, $e);  
  my $value;
  push(@html, $pass2[0]);
  if (scalar(@pass2) > 1) {
      $value = eval($pass2[1]);
      push(@html, $value);
    }
  }
  return join("", @html);
}