Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use strict;
- use warnings;
- use Mojo::Template;
- use Text::Xslate;
- use Template;
- # some useful options (see below for full list)
- my $config = {
- EVAL_PERL => 0, # evaluate Perl code blocks
- };
- # create Template object
- my $template = Template->new($config);
- use Benchmark qw/timethese cmpthese/;
- my $ref = [
- map { ( { name => 'peach', color => 'white', number => $_, } ) } ( 0 .. 1000 ),
- ];
- my $tx = Text::Xslate->new;
- my $mt = Mojo::Template->new;
- my $result = timethese(
- -5,
- {
- mojo_template => sub {
- $mt->render( '
- % my ($av) = @_;
- % foreach my $item (@$av) {
- <ul>
- <li>name:<%= $item->{name} %></li>
- <li>color:<%= $item->{color} %></li>
- <% if ($item->{number} > 2) { %>
- <li>number:<%= $item->{number} %></li>
- <% } %>
- </ul>
- % }
- ', $ref );
- },
- text_xslate => sub {
- $tx->render_string(
- ': for $av -> $item {
- <ul>
- <li>name:<: $item.name :></li>
- <li>color:<: $item.color :></li>
- : if $item.number > 2 {
- <li>number:<: $item.number :></li>
- : }
- </ul>
- : } ', { av => $ref }
- );
- },
- tt => sub {
- my $out = '';
- $out = $template->process(
- \' [% FOR item IN av %]
- <ul>
- <li>name:[% item.name %]</li>
- <li>color:[% item.color %]</li>
- [% IF item.number > 2 %]
- <li>number:[% item.number %]</li>
- [%END%]
- </ul>
- [% END %] ', { av => $ref }, \$out
- );
- },
- }
- );
- cmpthese($result);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement