我使用Perl在PDF报告上打印文本。数据来自oracle数据库表。我希望将字符串截断为特定大小,如果它长于该大小。我尝试使用substr
函数,但似乎是以字符计算。我想计算占用的空间。这是我的尝试:
$field_str .= ($totalwidth < 210) ? ' ' : "\n";
$field_str_trunc = substr( $field_str, 0, 278 );
当数据全部为大写时,这很好用;但是,当我将其设为小写并添加更多数据时,PDF上没有提供足够的数据。我怎样才能做到这一点?
答案 0 :(得分:-1)
您需要bytes
pragma:
use utf8;
my $str = "фуу";
my $chars = length($str); # 3
{
use bytes;
my $bytes = length($str); # 6
}