use strict;
use warnings;
use DBI;
sub main {
# Link to CSV file
my $input = "CSV_File.csv";
# Connect to DB
my $dbh = DBI->connect("dbi:mysql:perl_test","cottage","c0ttage");
unless(defined($dbh)){
die "Cannot connect to database \n";
}
unless(open(INPUT,$input)) {
die "Cannot open $input \n";
}
# Remove header from CSV file
;
while(){
chomp $_;
my @row_values = split',',$_;
my $id = $row_values[0];
my $fn = $row_values[1];
my $ln = $row_values[2];
my $amt = $row_values[3];
my $dt = $row_values[4];
# Prepare insert statement
my $sql = "insert into contacts(ID, First_Name, Last_Name, Amount, Date) values(?,?,?,?,?)";
my $statement = $dbh->prepare($sql);
unless($statement){
die "Error preparing SQL statement \n";
}
# execute insert statement
if($statement->execute($id, $fn,$ln, $amt, $dt)) {
print "Inserted ID $id successfully\n";
}
$statement->finish();
} # End of While loop
close INPUT;
$dbh->disconnect();
print "Done - Disconnected from DB\n";
}
main();