in reply to Searching each word of a file

@genes; @genes = split(/\t/,$genesList);

Mentioning a variable before using it doesn't do anything useful - it's just cargo cult programming. use strict and declare your variables with my instead:

my @genes = split m/\t/, $genesList;