my @COLUMNS; push ( @COLUMNS, $_)for ( 1 .. $last_column ); my $column_list = map { print "field$_, " } @COLUMNS; my $placeholders = { print "?, " for ( 1 .. $last_column ) }; my $insert_data = $dbh->prepare(<) { my (@ROW) = split /,/, $_; my $row_list = map { print "\'$_\', " } @ROW; $insert_data->execute($row_list); }