2バイト文字切り落とし。
id:kopug のコードそのままやけど。Template::Filters::LazyLoader使用。
sub fd_make_it_short{ my $s = shift; my $num = shift; return sub { my $var = shift; my $var_utf8 = Encode::decode('utf-8', $var); return length $var_utf8 > $num ? Encode::encode('utf-8', substr( $var_utf8, 0, $num ) ) .'...' : $var ; }
[% 'ああああああああああああああああああ' | make_it_short(5) %] あああああ...