sub read_dat { my @data = (); open (IN, "){ my @line = split (",", $line); my $i = 0; my %tmp; foreach my $col (@columns){ $tmp{$col} = $line[$i]; $i++} push (@data, %tmp); } close (IN); return @data; }