@words = ( # 1 2 3 4 5 #12345678901234567890123456789012345678901234567890 "The quick brown fox jumped over the lazy d I own", "The quick brown fox jumped over the lazy do I own", "The quick brown fox jumped over the lazy dog I own", "The quick brown fox jumped over the lazy dogs I own", "The quick brown fox jumped over the lazy doggy I own", ); for my $word (@words) { if (length $word > 45) { my $forty_sixth = substr($word, 45, 1); $word = substr($word, 0, 45); $word =~ s/\s*\w*\z// if $forty_sixth =~ /\w/; } print "Word: '$word', Length: ", length $word, "\n"; }