http://www.perlmonks.org?node_id=494767


in reply to Parsing and modifying CSV files

Building off of jZed's reply (and your follow-up) to your node Joining two files on common field, you can keep using DBD::CSV and just make this a SQL task:
#!/usr/bin/perl -w use DBI; use strict; my $dbh = DBI->connect("DBI:CSV:f_dir=/home/turn2sp/tmp") or die "Cannot connect: " . $DBI::errstr; $dbh->{'csv_tables'}->{'file1'} = { 'file' => 'IM.csv'}; $dbh->{'csv_tables'}->{'file2'} = { 'file' => 'Attributes-EP2005Sep2 +3-1907.txt'}; my $sql =<<EOS; UPDATE file2 SET v_attribute_values_price_2_1 = 0 -- is that + the right col?? FROM file1 f1 WHERE file2.v_products_model = f1.model -- are the +se two lines the proper AND file2.v_attribute_values_price_2_1_1 = f1.size -- FK re +lationship ?? AND f1.qty > 0 EOS $dbh->do($sql);

Replies are listed 'Best First'.
Re^2: Parsing and modifying CSV files
by ch1 (Novice) on Sep 25, 2005 at 07:41 UTC
    I've been working on getting DBI and DBD::CSV installed but I've been getting errors for the last couple of days. I'm using solaris 9 and it appears the complier I'm using doesn't play well with the complier perl was complied with.