my @numbers = ('25', '12', '32','56','45','21','65'); my @needed = ('25','32','45','65'); my %needed_hash = map { $_ => 1 } @needed; my @result = grep { $needed_hash{$_} ... $needed_hash{$_} } @numbers; print "@result\n";