use strict; use warnings; use Data::Dumper; # very handy to understand your data! my $datafilename = 'map.txt'; my @list; open my $DATAFILE, '<', "$datafilename" or die "$datafilename: $!"; while(<$DATAFILE>){ chomp; push @list, [split /\s+/]; } # uncomment next line to see data structure #print Dumper( @list ), "\n\n"; print $list[1][5], "\n"; # prints sixth field on second row