my $len = 20; # 345678901234567890 my $text = <<'ENDTXT'; One Two Three Four Five Six Seven Eight Nine Ten Eleven Twelve Thirteen Fourteen ENDTXT my @lines = $text =~ /(.{1,$len}\W)/gm; # remove leftover whitespace at ends of lines s/\s+$// for @lines; print "<$_>\n" for @lines; __END__ #### use Text::Wrap; $Text::Wrap::columns = 20; #$text=~tr/\n/ /; print wrap('', '', $text); #### my @lines = $text =~ /(.{1,$len})\s+/gm;