my $buffer; while (my $line = <$INFH>) { $line =~ s/\n$//; if ($line =~ /^CUSIP/) { print $OUTFH $buffer, "\n" if defined $buffer; $buffer = $line; } else { $buffer .= $line; } }