diff options
Diffstat (limited to 'lib/Text/Handlebars.pm')
-rw-r--r-- | lib/Text/Handlebars.pm | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/Text/Handlebars.pm b/lib/Text/Handlebars.pm index fa9e32c..c9a2e18 100644 --- a/lib/Text/Handlebars.pm +++ b/lib/Text/Handlebars.pm @@ -72,8 +72,11 @@ sub _register_builtin_methods { weaken(my $weakself = $self); $funcs->{'(run_code)'} = sub { - my ($code, $vars) = @_; - return $self->render_string($code->(), $vars); + my ($code, $vars, $open_tag, $close_tag, @args) = @_; + my $to_render = $code->(@args); + $to_render = "{{= $open_tag $close_tag =}}$to_render" + if defined($open_tag) && defined($close_tag) && $close_tag ne '}}'; + return $self->render_string($to_render, $vars); }; } |