#!/usr/bin/perl use strict; use warnings; while() { next if /^\s*$/; #skip blank lines s/^(\d+\s+)(\S+)(.+)/$1"$2"$3/; #quote column 2 s/\s{3,7}/,/g; print; } =prints: 12345,"DOE,JOHN",$50.00,REFUND,COMPLETE 12345,"DOE,JOHN",$25.00,DENIED,COMPLETE 12345,"DOE,JOHN",$75.00,,COMPLETE 12345,"DOE,JOHN",$10.00,REFUND,COMPLETE 12345,"DOE,JOHN",,,INCOMPLETE =cut __DATA__ 12345 DOE,JOHN $50.00 REFUND COMPLETE 12345 DOE,JOHN $25.00 DENIED COMPLETE 12345 DOE,JOHN $75.00 COMPLETE 12345 DOE,JOHN $10.00 REFUND COMPLETE 12345 DOE,JOHN INCOMPLETE