use SQL::Abstract; my $sql = SQL::Abstract->new; foreach my $data (@fields){ my($stmt, @bind) = $sql->insert('temp_sheet', $data); $dbh->do( $stmt, {}, @bind ); }