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();