while (<$fh>) { my ($on, $processed) = / ^ (\d{4}-\d\d-\d\d) .*dates processed:[ ] ( (?:\d{4}-\d\d-\d\d,[ ])* \d{4}-\d\d-\d\d ) $ / or next; my @processed = split(/, /, $processed); # Do something with $on and @processed. }