summaryrefslogtreecommitdiffstats
path: root/lib/Spreadsheet/Template/Helpers/Xslate.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Spreadsheet/Template/Helpers/Xslate.pm')
-rw-r--r--lib/Spreadsheet/Template/Helpers/Xslate.pm10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/Spreadsheet/Template/Helpers/Xslate.pm b/lib/Spreadsheet/Template/Helpers/Xslate.pm
index 56df981..a05ff0a 100644
--- a/lib/Spreadsheet/Template/Helpers/Xslate.pm
+++ b/lib/Spreadsheet/Template/Helpers/Xslate.pm
@@ -2,6 +2,7 @@ package Spreadsheet::Template::Helpers::Xslate;
use strict;
use warnings;
+use Encode;
use JSON;
my $JSON = JSON->new;
@@ -10,10 +11,10 @@ use Sub::Exporter 'build_exporter';
my $import = build_exporter({
exports => [
- map { $_ => \&_curry_package } qw(format c merge true false)
+ map { $_ => \&_curry_package } qw(format c merge true false u)
],
groups => {
- default => [qw(format c merge true false)],
+ default => [qw(format c merge true false u)],
},
});
@@ -65,6 +66,11 @@ sub merge {
sub true { JSON::true }
sub false { JSON::false }
+sub u {
+ my ($package, $str) = @_;
+ return Encode::decode('UTF-8', $str, Encode::FB_CROAK)
+}
+
sub _parse_range {
my ($range) = @_;