in reply to Simple RegEX text parser

In your lines 15-18 you only read the first line of text.

open (IF, "/home/stanley/Desktop/18048320.txt"); my $text = <IF>; my @splittext = split (/[.] [A-Z]/, $text); close (IF);

Better something like this:

open my $if, '<', '/path/to/file' or die "/path/to/file: $!"; # complete file content in one scalar my $text = do { local $/; <$if> } close $if;
Then, instead using for to iterate over a filehandle, use while:
#for my $gene ( <HANDLE> ) { while ( my $gene = <HANDLE> ) {