my %hash; my @NewArray; #read all of the values of the array into keys of the hash, #this eliminates all of the duplicates foreach my $var (@OriginalArray) { $hash{$var}=0; } #this loop marks any variable that appeared twice in the #original array. foreach my $var2 (@OriginalArray) { $hash{$var}++; } #This fills a new array based on the information from the #above loop foreach my $var3 (keys (%hash)) { if (!$hash{$var3} > 1) { print "$hash{$var3} deleted\n"; } else { $NewArray[@NewArray]=$hash{$var3}; } } @OriginalArray = @NewArray;