по сути, я пытаюсь выполнить поиск в большом текстовом файле, чтобы идентифицировать каждый элемент, который говорит « совпадений не найдено », и скопировать который сопоставляет идентификатор с новым списком. Я в порядке с первой частью этого, но я не могу понять, как затем скопировать элемент массива ровно на 5 индексов назад (который является идентификатором) и скопировать его в другой массив.
Я пробовал что-то вроде этого,
$fastafile = 'HpHcTEST.txt';
open(FASTAFILE, $fastafile);
@seq = <FASTAFILE>;
my $fastaid;
foreach (@seq) {
if ($_ =~ /\*\*\*\*\* No hits found \*\*\*\*\*/){
$fastaid .= $_[-5];
}
}
print "here are the IDs\n";
print $fastaid;
с кучей вариантов [-5], но ни один из них не сработал. Кажется, я не могу найти никакой документации о том, как сделать обратную ссылку и получить предыдущий элемент, если встречается совпадение. Кто-нибудь знает, как кодировать для этого?
Большое спасибо за уделенное время.
Андрей