固定幅で折り返す2


 Lingua::JA::Foldモジュールのfoldを使うのが簡単です。
 ある程度の禁則処理もやってくれます。
use strict;
use warnings;
use Encode;
use Lingua::JA::Fold;

my $length = 36; # 文字数

while (my $line = <>) {
    chomp $line;

    $line = Encode::decode('cp932', $line);
    my $str = Lingua::JA::Fold::fold(
        'text' => $line,
        'length' => $length,
        'mode' => 'traditional'
    );

    print Encode::encode('cp932', $str), "\n";
}

関連項目

固定幅で折り返す
テキストで表を作成する