#!/usr/bin/perl use strict; my @stuff=glob("./*"); my $st1; my $st2; my %dups; my $kk; my $comparelength=500; foreach my $fi1 (@stuff){ foreach my $fi2 (@stuff){ open(file1,"< $fi1")||die("can't open $fi1"); open(file2,"< $fi2")||die("can't open $fi2"); read file1,$st1,$comparelength; read file2,$st2,$comparelength; if (($st1 eq $st2)&& !($fi1 eq $fi2)) { read file1,$st1,$comparelength; read file2,$st2,$comparelength; if ($st1 eq $st2){ #print "\t$fi1\t$fi2\n"; my $add=0; my @list=keys(%dups); foreach $kk (@list){ if ($fi1 eq $kk) { if($fi2 eq $dups{"$fi1"}){ $add=1; last; } } elsif ($fi2 eq $kk) { if($fi1 eq $dups{"$fi2"}){ $add=1; last; } } } next if ($add==1); @list=values(%dups); foreach $kk (@list){ if ($fi1 eq $kk) { if($fi2 eq $dups{"$fi1"}){ $add=1; last; } } elsif ($fi2 eq $kk) { if($fi1 eq $dups{"$fi2"}){ $add=1; last; } } } next if ($add==1); $dups{"$fi1"}="$fi2"; } } } } my @sorted=sort (keys(%dups)); my $key; foreach $key (@sorted){ print "$key\t$dups{$key}\n"; unlink($dups{$key}); }