..[skip].. while (my $record = <$input>) { chomp $record; my ($val1, $val2, $val3) = (split(/\|/,$record))[1,3,5]; my %data = ( va => $val1, vb => $val2, ); my %where = ( vc => $val3, ); $dbh->update('myTable', \%data, \%where); }