Pan20:
It sounds like you've made some progress, as now you're seeing a different problem. That's the sort of message I would expect to see if your CSV file has a field in it containing an embedded quote in it. You can avoid those sorts of problems by using placeholders. (You can see them described in DBI under 'Placeholders and Bind Values'.) It lets you set up the code for your insert once, and then you can use it over and over, something like:
. . .
my $ST = $DB->prepare("insert into my_table(foo, bar, baz) values (?,
+?, ?)");
. . .
code to prepare CSV file
. . .
# For each record, read it
while (my $fields = read_data_from_csv_file()) {
# Ignore records we don't want
next if $fields->{BLECCH} = 'REJECT';
. . .
other stuff
. . .
# Stuff our record into the database
$ST->execute( $fields->{FOO}, $fields->{BAR}, $fields->{BAZ} );
}
...roboticus
When your only tool is a hammer, all problems look like your thumb. |