@res = $_ =~/(\d{4}-\d\d-\d\d).*dates processed: ((:?\d{4}-\d\d-\d\d,? ?)*)/ # still captures last result twice # input # 2009-02-02 06:12:57,500 dates processed: 2009-01-31, 2009-01-29, 2009-01-30 # output # 2009-02-02, 2009-01-31, 2009-01-29, 2009-01-30, 2009-01-30