У меня есть набор данныхЧтобы удалить повторяющиеся элементы из массива в Perl
10-101570715-101609901-hsa-mir-3158-1 10-101600739-101609661-ENSG00000166171 10-101588288-101609668-ENSG00000166171 10-101588325-101609447-ENSG00000166171 10-101594702-101609439-ENSG00000166171 10-101570560-101596651-ENSG00000166171
10-103389007-103396515-hsa-mir-1307 10-103389041-103396023-ENSG00000173915 10-103389050-103396074-ENSG00000173915 10-103389050-103396441-ENSG00000173915 10-103389050-103396466-ENSG00000173915 10-103389050-103396466-ENSG00000173915
для первого элемента в каждой строке Кроме этого, у меня есть несколько значений, которые являются избыточными, и я хочу, чтобы удалить избыточные значения. Я написал код, но я не чувствую его работоспособности.
open (fh, "file1");
while ($line=<fh>)
{
chomp ($line);
@array=$line;
my @unique =();
my %Seen =();
foreach my $elem (@array)
{
next if $Seen{ $elem }++;
push @unique, $elem;
}
print @unique;
}
'использовать строгий; использовать предупреждения; используйте Data :: Dumper; print Dumper \% Seen; 'Разве вы не ищете дубликаты, используя полные строки? –
нет, не дублируется с использованием полных строк, только поиск элементов, которые дублируются в строке –