http://qs321.pair.com?node_id=224893


in reply to golf anyone? (taking first field)

36 chars and handles blank lines, empty lines and lines starting with a colon:
@list = ( "123 : oain:b:okfbd", "", "456", "foo bar : df a dsaf asdf", "111 :", ": adf", " " ); $, = "\n"; print map{/(.*?)(\s*:|\s*$)/;$1||()}@list;
Chokes if the values in front of the colon is '0'.

Update: 33 chars (destructive):

map{s/\s*:.*|\s*$//;$_||()}@list;
Update: 32 chars (destructive):
map{s/\s*(:.*|$)//;$_||()}@list;