在Perl中截断一个字节的字符串

时间:2015-12-02 17:37:05

标签: oracle perl

我使用Perl在PDF报告上打印文本。数据来自oracle数据库表。我希望将字符串截断为特定大小,如果它长于该大小。我尝试使用substr函数,但似乎是以字符计算。我想计算占用的空间。这是我的尝试:

$field_str .= ($totalwidth < 210) ? ' ' : "\n";
$field_str_trunc = substr( $field_str, 0, 278 );

当数据全部为大写时,这很好用;但是,当我将其设为小写并添加更多数据时,PDF上没有提供足够的数据。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:-1)

您需要bytes pragma:

use utf8;
my $str   = "фуу";
my $chars = length($str);      # 3
{
    use bytes;
    my $bytes = length($str);  # 6
}
相关问题