sub process_urlhits_update{ my $sql1 = qq {\nUPDATE url_table SET hits}; my $sql2 = qq {WHERE url}; my $sql; open(FH,">/tmp/updates.txt")||die("could not open updates file"); foreach my $url ( keys %urlhits_update ){ $sql .= qq { $sql1=$urlhits_update{$url} $sql2="$url" }; $urlid_hash{$url}=get_urlid($url) if ! defined $urlid_hash{$url}; delete $urlhits_update{$url}; } print FH $sql; $sql="LOAD DATA LOCAL INFILE '/tmp/updates.txt' INTO TABLE url_table"; my $sth = $dbh->prepare( $sql ); $sth->execute(); }