#!/usr/bin/perl # http://perlmonks.org/?node_id=1168253 use strict; use warnings; $_ = join '', ; 1 while s/^(\w+,\w+,)(.*)\K\n\1/ /m; print; __DATA__ H123456,20151209,THIS IS A TEST H123456,20151209,TO COMBINE ALL H123456,20151209,MY MATCHING LINES H123456,20151209,INTO THE FIRST LINE H123456,20151209,THAT MATCHES. H654321,20151209,MATCH LINES FOR THIS H654321,20151209,ACCT INTO THE H654321,20151209,TOP LINE OF THE ACCT H432165,20151209,SINGLE LINE FOR THIS ONE