如何在Mojolicious模板中使用新的语法功能

时间:2014-07-20 23:12:09

标签: perl mojolicious

我想在我的Mojo模板中使用花哨的后缀解除引用。我想我能做到

% use experimental 'postderef';

位于每个模板文件的顶部,但这似乎是重复和蹩脚的。有没有办法让Mojolicious将我的pragma首选项导入每个模板的词法范围?

2 个答案:

答案 0 :(得分:6)

您可以使用自己的选项重新加载EPRenderer插件(默认为没有选项),选项template包含Mojo::Template的默认值。

use Mojolicious::Lite;

plugin 'EPRenderer', template => { prepend  => 'use experimental "postderef";use Data::Dump "pp";'};

get '/' => sub { shift->render('index'); };

app->start;
__DATA__

@@ index.html.ep
% layout 'default';
% title 'Welcome';

Welcome to the Mojolicious real-time web framework!

% my $a = [[0]];
% push $a->[0]->@*, 1;
%=  pp($a)

@@ layouts/default.html.ep
<!DOCTYPE html>
<html>
  <head><title><%= title %></title></head>
  <body><%= content %>

  </body>
</html>

答案 1 :(得分:0)

如果您在Mojolicious App中使用该pragma,它也适用于模板。

如果没有,那么您可以将其添加到布局中并使用模板中的布局。