in reply to Comparing 2 csv files

Hi meredith ,

You might want to have a look at tillys Text::xSV module...

A user level that continues to overstate my experience :-))

Replies are listed 'Best First'.
Re^2: Comparing 2 csv files
by meredib (Acolyte) on Aug 20, 2008 at 20:16 UTC
    I was trying not to get to fancy, this is what I have so far:
    #!/usr/bin/perl $f1 = 'C:\file1.csv'; open FILE1, "$f1" or die "Could not open file $f1\n"; $f2 = 'C:\file2.csv'; open FILE2, "$f2" or die "Could not open file $f2\n"; $outfile = 'C:\output.csv'; open (OUT, ">$outfile") or die "Cannot open $outfile for writing \n"; foreach (<FILE1>) { my @outer_text = $_; @outer_text = split (/,/); if ($outer_text[0] =~ "^Kelly\$") { @outer_text = $_; } seek(FILE2,0,0); foreach (<FILE2>) { my @inner_text = $_; @inner_text = split (/,/); if ($inner_text[0] =~ "^Kelly\$") { if (@outer_text eq @inner_text) { print OUT $_; } } } } close OUT; close FILE1; close FILE2;
      I got it!!!
      #!/usr/bin/perl $f1 = 'C:/f1.csv; open FILE1, "$f1" or die "Could not open file $f1\n"; $f2 = 'C:/f2.csv'; open FILE2, "$f2" or die "Could not open file $f2\n"; $outfile = 'C:/outfile.csv'; open (OUT, ">$outfile") or die "Cannot open $outfile for writing \n"; foreach (<FILE1>){ my @outer_text = split (/,/, $_); if ($outer_text[0] =~ "^Kelly\$") { $status{$outer_text[1].$outer_text[2].$outer_text[10]} = $_; } } close FILE1; foreach (<FILE2>){ @inner_text = split (/,/, $_); $x = ''; $x = $status{$inner_text[1].$inner_text[2].$inner_text[10]}; + if($x gt ''){ print OUT $_; } } close OUT; close FILE2;