You could split on anything that wasn't an uppercase letter ([^A-Z]), capturing what you split on, do your ucfirst lc in a map then concatenate the results with join.
$ cat companies WOOLWORTHS CAP GEMINI AVIVA AMERADA HESS RUN4LIFE $ perl -pi.bak -e '$_ = join q{}, map { ucfirst lc } split m{([^A-Z]+) +};' companies $ cat companies Woolworths Cap Gemini Aviva Amerada Hess Run4Life $
I hope this is useful.
Cheers,
JohnGG
In reply to Re: Case Munging
by johngg
in thread Case Munging
by mikeraz
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |