|Perl Monk, Perl Meditation|
golf anyone? (taking first field)by John M. Dlugosz (Monsignor)
|on Jan 07, 2003 at 06:34 UTC||Need Help??|
John M. Dlugosz has asked for the wisdom of the Perl Monks concerning the following question:
I read a file into an array, and want to take just the first thing on each line and return a list of those. I was overwhelmed with TIMTOWTDI. I typed and backspaced 3 times already. Why? Because there should be a nicer way to write it. But it turned into a distraction. If there was only one obvious way to do something, I would have just done it and be done with it. But Perl can be "fun" besides...
So, I thought I'd throw it out as a challange.
Given: variable @list contains a bunch of lines of the form
Where the :stuff is optional, and the line may be blank in which case it should be ignored. Return a list containing just the xxxxx parts. Specifically, remove blank lines, and truncate each line at the first : (if present) and get rid of trailing whitespace after the xxxxx part (including the possible "\n".