while (@rows) { my %row_data; # a hash for my data list $row_data{FILES} = shift @rows; push( @loop_data, \%row_data ); } #### for my $row (@rows) { push( @loop_data, {FILES => $row} ); } #### for (@rows) { push( @loop_data, {FILES => $_} ); } #### @loop_data = map { {FILES => $_) } @rows;