in reply to Variables not entering sub routine

$gene_seq_id = $1;
$gene_seq_status = $2;
$gene_seq_CDS_number = $3;
...
$gene_seq_endopen = $9;
$gene_seq_complement = $10;


Is there a specific reason you're not using a hash here? Then you can access the data more easily, and pass it around more easily.
my %gene_seq = ( id => $1, status => $2, CDS_number => $3, ... # the yaddah yaddah yaddah operator ); return \%gene_seq; # return a reference to the hash, to be dereffed at + the other end
Apologies for not helping with your specific problem more, but once the code is down to a reasonable size, I'm sure it'll be much easier to debug. :)

Jasper

ps do '='s need to be escaped in a regex? (rhetorical question) Also, using different regex delimiters (# instead of /) might make it more readable again when you are escaping a load of characters. Well, unless you're using a lot of comments in a //x regex! Then you could use a pipe, or whatever.