use strict; use warnings; my $line_out; open ( MOV, "<", "test.cxv" ) or die "test.csv: $!\n"; while () { if ( /^RS,/ ) { s/\s+$/,/; $line_out = $_; } elsif ( /^RAd,/ ) { s/\s+$/,/; $line_out .= $_; } elsif ( /^RC,/ ) { print $line_out . $_; } }