#!c:/perl/bin/perl use strict; use warnings; use DBI; use IO::All; my $file = q(data.csv); my @lines = io($file)->slurp; my $dbh = DBI->connect( "dbi:ODBC:myDSN", "user", "password" ) || die $!; my $table = qq(table); my $sth; my $sql; foreach my $line (@lines) { my @row = (); @row = split( ";", $line ); chomp(@row); $row[3] =~ m/\d{12}(\d{12})/; my $some_ID = $1; $some_ID = int $some_ID; foreach my $item ( 1, 2, 3, 4, 5, 8, 9 ) { $row[$item] = qq('$row[$item]'); } $sql .= qq(INSERT INTO $table VALUES($row[0],$row[1],$row[2],$row[3],$row[4],$row[5],$row[6],$row[7],$row[8],$row[9],$some_ID );); } $sth = $dbh->prepare($sql); $sth->execute(); $sth->finish(); $dbh->disconnect();