Note: my example uc()'d the first letter of every word. This example does what Ramesh's example does. It only does the substituion if the first letter is capitalized, as Ramesh has. $x = "Some teams like L.A. LAKERS, PHILADELPHIA, and SAN ANTONIO for the purpose of this exercise.\n"; $x =~ s/\b([A-Z]\w+)\b/ucfirst(lc($1))/ge; print $x,"\n"; --Chris At 22.06 1/6/98, Ramesh R. wrote: >Hi all! > >>I'm trying to change words that are in all upercase to upper and lower. >>And i can'rt seem to come up with a logical way to achieve this. >> >>Here's my problem... I'm writing a script for our sports section to >>process the NBA boxscores for publication. >> >>Far too often AP sends words in the file in all uppercase and we change >>them. For example: L.A. LAKERS, PHILADELPHIA, SAN ANTONIO. Iturned >>everythig to lowercase with "tr" But now I can't seem to come up with a >>search that will only change the first letter of a word. >> >>Any ideas? > >Basically this is a Perl question, and being a Perl newbie, here's my try. >Please feel free to comment, as I'm trying to learn as much as possible. > >#!perl >use strict; > >my $Test_string = "Some teams like L.A. LAKERS, PHILADELPHIA, and SAN >ANTONIO for the purpose of this exercise.\n"; > ># Split the sentence into individual words. >my @Atoms = split " ", $Test_string; > >my @String; >my $Buffer; > >foreach (@Atoms) >{ > # This checks for words that begin with a cap, followed by > # one or more caps, and probably a punctuation mark. > if (m/(^[A-Z])([A-Z]+)(\W?)/) > { > # Grab the part of the word in caps, > # but not the first letter. > $Buffer = $2; > > # Convert that part to lowercase. > $Buffer =~ tr/[A-Z]/[a-z]/; > > # Build the string back together again. > push @String, $1 . $Buffer . $3; > } > else > { > push @String, $_; > } >} > >print join (" ", @String); > >Hope this helps. > > > >Best regards, >Ramesh > > > >***** Want to unsubscribe from this list? >***** Send mail with body "unsubscribe" to mac-perl-request@iis.ee.ethz.ch ***** Want to unsubscribe from this list? ***** Send mail with body "unsubscribe" to mac-perl-request@iis.ee.ethz.ch