$stmt =qq/LOAD DATA LOCAL INFILE "..\/$cvstoupload" INTO TABLE statezones FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY """" LINES TERMINATED BY "\r" IGNORE 1 LINES/; #### STATE,ABBREV,ZONE Alabama,AL,2 Alaska,AK,4 Arizona,AZ,3 Arkansas,AR,2 California,CA,3 Colorado,CO,2 Connecticut,CT,2 Delaware,DE,2 #### Alabama,AL,2 Alaska,AK,4 Arizona,AZ,3 #### #!/usr/bin/perl -T use lib "/home/gotjunk/www/cgi-bin"; use warnings; use CGI::Carp qw(fatalsToBrowser); use strict; use CGI; use Crypt::CBC; require Common; #------------------------- declare -------------------------- my $query = new CGI; my $dbh = &dbconnect; #open DBI connection in Common #------------------------ grab input ------------------------ my $cvstoupload = &upload_file($query->param('filename')); my $stmt ="DELETE FROM statezones"; #dump the old data &execute_it($stmt); #----------------- open .db file and insert ----------------- $stmt =qq/LOAD DATA LOCAL INFILE "..\/$cvstoupload" INTO TABLE statezones FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY """" LINES TERMINATED BY "\r" IGNORE 1 LINES/; my $sth = $dbh->prepare($stmt); $sth->execute(); unlink "../$cvstoupload" or die "unlink: $!"; $sth->finish(); $dbh->disconnect(); exit(); # ----------------------- upload file ----------------------- sub upload_file { $| = 1; my $sourcefile = shift; my ($buffer, $bytes); $sourcefile =~ /([\w .-]+)$/i; my $newfile = $1; $newfile =~ s/ //; open (OUTFILE, ">../$newfile") or die "Cannot open $newfile: $!"; binmode(OUTFILE); while ($bytes = read($sourcefile, $buffer, 1024)) { print OUTFILE $buffer; } close(OUTFILE) or die "Close: $!"; chmod (0666, ">../$newfile"); return ($newfile); }