Sequence file (@array1) looks like this: >gi|13470331|ref|NP_101896.1| hypothetical protein MFWVTKKALMPFLMLPAGIIFVSAVGYAINWLFSTLFQFQPPLVEGPAGPVTVLIFTITMLLAYDISYYL >gi|13470319|ref|NP_101897.1| hypothetical protein MGAYCQAHPACKVTDRTVIGRRDAAMNAPFVLAIPRTRTFEVVTSAARLAEIAPAWTALWQRAGGLVFQH my @array2 = qq(13470319 13470331 15460001 13490216); foreach my $line (@array1) { if ($line =~ /^gi\|(\d+)/) { for (my $i=0;$i<@array2; $i++) { if ($array2[$i] == $1) { print "$line "; } } } }
In reply to retrieving in the correct order by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |