http://qs321.pair.com?node_id=66997


in reply to grepping

As it turns out, your particular problem is somewhat more complicated than we had all assumed. Here's one way to solve it:
use strict; # this simply gives us some sample data, just like # you would have gotten from doing @data = <FILE> my @data = split $/, <<EOF; 1,comp1,type1 2,comp2,type2 3,comp3,type3 EOF my @data2 = split $/, <<EOF; 1,comp1,type1,doc1,ref1 2,comp2,type2,doc2,ref2 3,comp3,type3,doc3,ref3 4,comp4,type4,doc4,ref4 5,comp5,type5,doc5,ref5 EOF # end of sample-data # figure out how many columns there are in @data my $num_cols = () = $data[0] =~ /,/g; # create hash-keys based on the number of columns my %d2keys; $d2keys{join ',', (split /,/)[0..$num_cols]} = $_ for @data2; # delete duplicates delete @d2keys{@data}; # and we're left with the ones that differ... my @diff = values %d2keys; # proof that it worked :) print $_,$/ for @diff;
   MeowChow                                   
               s aamecha.s a..a\u$&owag.print