in reply to Getting data from a file (Operons and Genes).

So, I am not sure which part you need help with. Here is how you break each line into 'parts'
foreach my $line (@lines){ @lineFields = split( ' ', $line ); }
that gives us an array of the words in the line, so it has the following parts:

$lineFields[0] is the Operon name
$lineFields[1] is 1 2 3...
$lineFields[2] is forward or reverse
$lineFileds[3] is the 'genes'

Then we parse the 'genes' in a similar manner

#get the comman separated list of genes my @geneItems = split( ',', $lineFileds[3] ); #now look at each one in turn foreach my @item ( @geneItems ){ #just continue processing and store in hash }
That is not the complete answer, but it will get you where you want to go.
"Never take yourself too seriously, because everyone knows that fat birds dont fly" -FLC