use strict; use warnings; my $n = shift; my $text = do {local $/; }; $text =~ s/\n/ /g; my @lines = $text =~ /(.{1,$n})\s+/g; print "$_\n" for @lines; __DATA__