use strict; my $db = 'C:\Inetpub\wwwroot\cgi-bin\test4.txt'; open(DATA, "$db") || die "Can not open: $!\n"; my @dat = (); close(DATA); open(DATA, "$db") || die "NO GO: $!\n"; my @files; foreach (@dat) { my $key = join(" ", (split /\|/, $_)[1,2,3,4]); #print "$key\n"; push(@files,$key); } #print "@files\n"; foreach (@files) { chomp; $key{$_}++; } foreach (keys %key) { if($key{$_} > 1) { #print "$_ \n"; my $db = 'test4.txt'; open(DATA, "$db") || die "Can not open: $!\n"; my @lines = (); pop @lines; open(FOUT,"> test4.txt") or die $!; print FOUT @lines; close FOUT; } } close(DATA);