1e1051a39Sopenharmony_ci#!perl 2e1051a39Sopenharmony_ci 3e1051a39Sopenharmony_ciuse utf8; 4e1051a39Sopenharmony_ciuse strict; 5e1051a39Sopenharmony_ciuse warnings; 6e1051a39Sopenharmony_ciuse Test::More; 7e1051a39Sopenharmony_ciuse Encode; 8e1051a39Sopenharmony_ciuse File::Temp; 9e1051a39Sopenharmony_ci 10e1051a39Sopenharmony_ci# Non-CORE module(s) 11e1051a39Sopenharmony_ciunless (eval { require Test::More::UTF8; 1; } ) { 12e1051a39Sopenharmony_ci plan skip_all => '[ Test::More::UTF8 ] is required for testing'; 13e1051a39Sopenharmony_ci} 14e1051a39Sopenharmony_ci 15e1051a39Sopenharmony_ciplan tests => 3; 16e1051a39Sopenharmony_ci 17e1051a39Sopenharmony_ciuse_ok 'Text::Template' or exit 1; 18e1051a39Sopenharmony_ci 19e1051a39Sopenharmony_cimy $tmp_fh = File::Temp->new; 20e1051a39Sopenharmony_ci 21e1051a39Sopenharmony_ciprint $tmp_fh encode('UTF-8', "\x{4f60}\x{597d} {{\$name}}"); 22e1051a39Sopenharmony_ci 23e1051a39Sopenharmony_ci$tmp_fh->flush; 24e1051a39Sopenharmony_ci 25e1051a39Sopenharmony_ci# UTF-8 encoded template file 26e1051a39Sopenharmony_cimy $str = Text::Template->new( 27e1051a39Sopenharmony_ci TYPE => 'FILE', 28e1051a39Sopenharmony_ci SOURCE => $tmp_fh->filename, 29e1051a39Sopenharmony_ci ENCODING => 'UTF-8' 30e1051a39Sopenharmony_ci)->fill_in(HASH => { name => 'World' }); 31e1051a39Sopenharmony_ci 32e1051a39Sopenharmony_ciis $str, "\x{4f60}\x{597d} World"; 33e1051a39Sopenharmony_ci 34e1051a39Sopenharmony_ci$tmp_fh = File::Temp->new; 35e1051a39Sopenharmony_ci 36e1051a39Sopenharmony_ciprint $tmp_fh encode('iso-8859-1', "Ol\x{e1} {{\$name}}"); 37e1051a39Sopenharmony_ci 38e1051a39Sopenharmony_ci$tmp_fh->flush; 39e1051a39Sopenharmony_ci 40e1051a39Sopenharmony_ci# ISO-8859-1 encoded template file 41e1051a39Sopenharmony_ci$str = Text::Template->new( 42e1051a39Sopenharmony_ci TYPE => 'FILE', 43e1051a39Sopenharmony_ci SOURCE => $tmp_fh->filename, 44e1051a39Sopenharmony_ci ENCODING => 'iso-8859-1' 45e1051a39Sopenharmony_ci)->fill_in(HASH => { name => 'World' }); 46e1051a39Sopenharmony_ci 47e1051a39Sopenharmony_ciis $str, "Ol\x{e1} World"; 48