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 "; } } } }