name parser
[migration-tools.git] / csv_ripper
index 99e047c..8ae35e9 100755 (executable)
@@ -1,7 +1,7 @@
 #!/usr/bin/perl
 
 # TODO
-# 
+#
 # * add getopt support
 # * use tag generator to expand list of wanted fields?
 # * insertion of constant-value fields
@@ -14,15 +14,16 @@ use warnings;
 
 use Text::CSV;
 
-my $csv = Text::CSV->new({escape_char => "+", allow_loose_quotes => 1});
+my $csv = Text::CSV->new( {binary => 1});
 
 open CSV, '<', shift or die "Can't open file $!\n";
 
 while (<CSV>) {
     $csv->parse($_);
+    die "Bad data on line $.\n$_\n" if ($csv->error_diag);
     my @chunks = $csv->fields;
     my @out = ();
-    for (@ARGV)
-      { push @out, $chunks[$_]}
+    for my $chunk (@ARGV)
+      { push @out, $chunks[$chunk] }
     print join("\t", @out), "\n";
 }