my $sth = $dbh->prepare('UPDATE myTable SET va = ?, vb = ? WHERE vc = ?'); while (my $record = <$input>){ my @values = (split(/\|/,$record))[1,3,5]; $sth->execute(@values); } $sth->finish()