#! perl -slw use strict; my @strings = map{ join'', map{ chr( rand(26) + ( rand() < .9 ? 65 : 97 ) ) } 1..1000 } 1 .. 20; print for @strings; for my $string ( @strings ) { $string =~ s[((?:[A-Z][^A-Z]*){10})][$1 ]g; $string =~ s[((?:[A-Z][^A-Z]*){100})][$1\n]g; } print $/, $/; print for @strings;