foreach my $i (0..$#line) { $record[$row]{$fieldname[$i]}=$line[$i]; } #### my %rec; @rec{@fields} = split(/,/, $_, -1); $record[$row] = \%rec;