$paragraph =~ s/([^\n]{50,70})(?:\b\s*|\n)/$1\n/gi; while ($paragraph =~ m/([^\n]{71})/) { $paragraph =~ s/([^\n]{70})([^\n])/$1\n$2/g; }