while () { chomp; my @fields = split(/$sep/, $_); my %data; @data{@fieldnames} = @fields; push @datalist, %data; } #### while () { chomp; my $data = {}; @$data{@fieldnames} = split(/$sep/, $_); push @datalist, $data; }