| Template-Provider-Encoding documentation | Contained in the Template-Provider-Encoding distribution. |
Template::Stash::ForceUTF8 - Force UTF-8 (Unicode) flag on stash variables
use Template::Stash::ForceUTF8;
use Template;
my $tt = Template->new(
LOAD_TEMPLATES => [ Template::Provider::Encoding->new ],
STASH => Template::Stash::ForceUTF8->new,
);
my $vars;
$vars->{foo} = "\x{5bae}\x{5ddd}"; # Unicode flagged
$vars->{bar} = "\xe5\xae\xae\xe5\xb7\x9d"; # UTF-8 bytes
$tt->process($template, $vars); # this DWIMs
Template::Stash::ForceUTF8 is a Template::Stash that forces Unicode flag on stash variables. Best used with Template::Provider::Encoding.
| Template-Provider-Encoding documentation | Contained in the Template-Provider-Encoding distribution. |
package Template::Stash::ForceUTF8; use strict; our $VERSION = '0.03'; use Template::Config; use base ( $Template::Config::STASH ); use Encode; sub get { my $self = shift; my $result = $self->SUPER::get(@_); return $result if ref $result; Encode::_utf8_on($result) unless Encode::is_utf8($result); return $result; } 1; __END__