open my $file_handle, $mode, $filename or die $!; #### #!perl use strict; use warnings; my %seen; while (my $line = ) { my ($key, $rest) = split /,/, $line, 2; $key =~ s{ [-&_+'] }{ }msx; $key =~ s{ ( [a-z] ) ( [A-Z] ) }{$1 $2}msx; if ($seen{$key}++) { print STDERR join '', 'DUP: ', $line; } else { print STDOUT join '', 'NEW: ', $key, ',', $rest; } } __DATA__ Group One,Captain,Phone Number,League Pos,etc. Group-One,Captain,Phone Number,League Pos,etc. GroupOne,Captain,Phone Number,League Pos,etc. Group Two,Captain,Phone Number,League Pos,etc. Group Three,Captain,Phone Number,League Pos,etc. #### $ del_dup_prob.pl NEW: Group One,Captain,Phone Number,League Pos,etc. DUP: Group-One,Captain,Phone Number,League Pos,etc. DUP: GroupOne,Captain,Phone Number,League Pos,etc. NEW: Group Two,Captain,Phone Number,League Pos,etc. NEW: Group Three,Captain,Phone Number,League Pos,etc. #### $ del_dup_prob.pl NEW: Group One,Captain,Phone Number,League Pos,etc. DUP: Group-One,Captain,Phone Number,League Pos,etc. NEW: GroupOne,Captain,Phone Number,League Pos,etc. NEW: Group Two,Captain,Phone Number,League Pos,etc. NEW: Group Three,Captain,Phone Number,League Pos,etc. #### script_name input_filename > unique_rows_filename 2> duplicate_rows_filename