http://www.perlmonks.org?node_id=1024134


in reply to Creating 2D array / Matrix

I'm not quite sure what you want to do with the files, but reading the file in a two-dimensional array can be done this way:
use warnings; use strict; open my $filehandle, "<", "filename.bed" or die "open: $!\n"; my @data; while (<$filehandle>) { chomp; # remove the line ending character push @data, [ split /\t/ ]; # split the rest and append it to our dat +a }; print $data[0]->[0]; # access the first element of the array # it's a reference, "->" dereferences it # at last, access the first element of the dereferenced array

Here the [] brackets create an anonymous array reference (not just an array) filled with the return value of split and this reference (which is a scalar value, so it can be stored in the array) is pushed to the array.

You can always use Data::Dumper to print the contents of your data structure. Read perlreftut and perldsc for more information on references and complex data structures.

Edit: forgot to chomp
Sorry if my advice was wrong.