]> Dogcows Code - chaz/p5-CGI-Ex/blobdiff - samples/memory_template.pl
CGI::Ex 2.12
[chaz/p5-CGI-Ex] / samples / memory_template.pl
index 6b03cdf39e08ff60d39214a47e2ec3d68ea3fee8..9c055667568bd9c1dd065ad25d81dfb13ed6010e 100644 (file)
@@ -15,27 +15,58 @@ my $txt  = "[% one %][% two %][% three %][% hash.keys.join %] [% code(one).lengt
 ###----------------------------------------------------------------###
 
 my $module;
+my $name;
 if (! fork) {
     $module = 'CGI::Ex::Template';
-    $0 = "perl $module";
+} elsif (! fork) {
+    $module = 'CGI::Ex::Template::XS';
+} elsif (! fork) {
+    $module = 'Template';
+} elsif (! fork) {
+    $module = 'Template';
+    $name   = 'Template Stash::XS';
+    require Template::Stash::XS;
+} elsif (! fork) {
+    $module = 'HTML::Template';
+} elsif (! fork) {
+    $module = 'HTML::Template::Expr';
 } elsif (! fork) {
     $module = 'Template';
-    $0 = "perl $module";
+    $name   = 'Template::Parser::CET';
+    require Template::Parser::CET;
+    Template::Parser::CET->activate;
 }
 
 if ($module) {
+    $name ||= $module;
+    $0 = "$0 - $name";
+
     my $pm = "$module.pm";
     $pm =~ s|::|/|g;
     require $pm;
 
-    my $t = $module->new(ABSOLUTE => 1);
-    my $out = '';
-    $t->process(\$txt, $swap, \$out);
-    print $out;
-}
+    if ($module =~ /HTML::Template/) {
+        my $t = eval { $module->new };
 
-sleep 15; # go and check the 'ps fauwx|grep perl'
+    } else {
+
+        my $t = $module->new(ABSOLUTE => 1);
+        my $out = '';
+        $t->process(\$txt, $swap, \$out);
+        print "$name $out";
+        for (1..30) { my $out; $t->process(\$txt, $swap, \$out); };
+    }
+
+#    print "$name $_\n" foreach sort keys %INC;
+    print "$name times: (@{[times]})\n";
+    sleep 15;
+    exit;
+}
 
+sleep 2;
+print grep {/\Q$0\E/} `ps fauwx`;
+#sleep 15; # go and check the 'ps fauwx|grep perl'
+exit;
 
 ###----------------------------------------------------------------###
 
This page took 0.021666 seconds and 4 git commands to generate.