Hi All, I'm a two-week perl newbie, trying to get my head around text handling. I keep getting sent badly formatted text files, which I have to 'repair' so that I can use them to feed an Oracle database. They are typically a few thousand lines long.
The files generally arrive in a format like this: serial_number | TITLE OF SOMETHING | free text description | price | For example: 0097138 | BOOK TITLE | A book about dogs | 4.99 | 0098102 | different book title | small blue book about cats | 2.99 | I need to sort out the cases of the text fields (BOOK TITLE) and ( a book about cats ) and render them to "Title Case" (first character upper case for each word). So my example would become: 0097138 | Book Title | A Book About Dogs | 4.99 | 0098102 | Different Book Title | Small Blue Book About Cats | 2.99 | I have an awk solution, but since I want to learn Perl... My failed approach so far: "While" loop to read file line by line "Split" each line using delimiter (pipe in this case) Put the text fields into an array "Shift" each element out of the array Run a regex to upper case the first character Shift element back into array I made a horrible mess, and it didn't work. I also tried using substr() to isolate the first character then uc() it, lc() the rest of the string and then concatenate the result. Even uglier, and it still didn't work. Anyone have an elegant way? Thanks, Glenn. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/