while(@satz) { my $quellelement=$satz[0]; #Erstes Element Satz nur für den späteren Vergleich nötig my $quelldatei=$datei[0]; #jeweils erste Datei push(@ungleich,$quelldatei);#Die Quelldatei wird in ungleich gespeichert for my $pos($satz[1]..$#satz) #vom jeweils zweiten Element bis zum letzten { if ($quellelement eq $satz[$pos]) #Wenn erstes Element nochmals vorkommt { if ($counter==0) #Prüfe ob das Quellelement schon bearbeitet wurde { push(@gleich,$quelldatei); #Kopiere einmalig das jeweils erste Element in gleich push(@Index,0); #Merk dir den Index $counter++; #Zähler ist nun 1 somit wird die Schleife erstmal verlassen } push(@gleich,$datei[$pos]); #Speichere nun die anderen Werte in gleich push(@Index,$pos); #und deren Position } } $counter=0; foreach my $element(@Index) #Löschen der nun schon verarbeiteter Indizes { splice @datei,$element,1; splice @satz,$element,1; } @Index=(); #Neuinitialisierung von Index } system ("cp -v @gleich ./doppelt"); #Kopiere alle Dateien die identischen Inhalt haben system("cp -v @ungleich ./einfach"); #Kopiere alle einfach vorkommenden Dateien