#!/usr/bin/perl -w use strict; use warnings; my @GI = ("gi|Q384722390|emb|WP_938420210.1|Gene name", "gi|342546780|emb|WP_934203412.1|Gene name"); my @Accession = ("WP_938420210.1","WP_934203412.1"); # Convert to hash my %foo = (); for my $gene (@GI) { my @fields = split (/\|/, $gene); $foo{$fields[3]} = $gene; } # Now extract for my $accno (@Accession) { print "Acc no: $accno, Gene: $foo{$accno}\n"; }