in reply to Re: Re: golf anyone? (taking first field)
in thread golf anyone? (taking first field)

In that case,
map{/([^:]*?)\s*(:|$)/;$1||()}@list;
Back to 36 chars. ;)

blokhead

Replies are listed 'Best First'.
Re: Re: Re: Re: golf anyone? (taking first field)
by John M. Dlugosz (Monsignor) on Jan 07, 2003 at 08:25 UTC
    Yea, that's what I noticed when I decided to throw it out as a golf: stopping at the colon or the end-of-line complicates things in a slightly subtle manner. Doing it in multiple passes it's no big deal: chomp first, then delete the tail end stuff, then throw it away if empty. But that's not elegant, and it doesn't just "fit together" as a composition of functions (one feeding the result to the next outer one).

    I think this also has an interestingly high punctuation to alpha ratio.

    I see you make sure the pattern always matches, so $1 is always OK (just empty).

    —John