in reply to Re^4: Human genome array
in thread Human genome array

That's better, but it would be even better if posted code that was self contained. Also, as many will mention, always use strict; and use warnings; unless you have a specific reason you're not. I know you're using them, but you should show us you're using them.

The main problem I'm seeing in your script is that you're pushing a list into an array. Your description implies you want a matrix. In order to do that, you'll have to push an array reference into your @genome array:

push (@genome,\@str);

Perl only stores scalars in arrays and hash values, so, in order to create a multi-level datastructure, you need fill the array with a reference to the array.

A minor thing is that you'll probably miss your last chromosome because of how you're parsing the file. After you hit the end of the file, and there isn't a dangling header, you'll still have a lot of data in $temp_str that doesn't make it into @genome.

Edit: also, as toolic says, you should change you split line to:

my @str = split //, $temp_str;