http://www.perlmonks.org?node_id=649408


in reply to regex for text manipulation

Here's one possible solution:
#!/usr/bin/perl use warnings;use strict; foreach (<DATA>) { s{ (^|\.) # Start of string, or last full-stop (.*?) # Non-alpha characters (non-greedy) ([a-zA-Z]) # First alphabetic character ([^\.]*) # Through to next full stop }{ $1.$2.uc($3).lc($4) }gex; print; } __DATA__ today is wednesday.tomorrow IS THURSDAY. I am trying to write a regex to convert the first letter and any lette +r following a full stop in a string to uppercase .and . all the ot +her characters to lowercase.