Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Re: Merge the difference between two files

by tybalt89 (Monsignor)
on Jun 16, 2017 at 13:18 UTC ( #1192932=note: print w/replies, xml ) Need Help??

in reply to Merge the difference between two files

#!/usr/bin/perl # use strict; use warnings; use Algorithm::Diff qw(traverse_sequences); open my $fh1, '<', \<<END; NAME, ID1, ID2 apple banana NAME, ID1, ID3 strawberry grape END open my $fh2, '<', \<<END; NAME, ID1, ID2 apple jackfruit NAME, ID1, ID4 banana grapes END $/ = undef; my @file1 = <$fh1> =~ /^NAME.*\n(?:(?!NAME).*\n)*/gm; close $fh1; my @file2 = <$fh2> =~ /^NAME.*\n(?:(?!NAME).*\n)*/gm; close $fh2; #use Data::Dump 'pp'; pp \@file1; pp \@file2; traverse_sequences( [ map /(.*)/, @file1 ], # compare only first lines [ map /(.*)/, @file2 ], { MATCH => sub { print $file1[shift()] }, DISCARD_A => sub { print $file1[shift()] }, DISCARD_B => sub { print $file2[pop()] }, } );

Replies are listed 'Best First'.
Re^2: Merge the difference between two files
by hopper (Novice) on Jun 16, 2017 at 19:15 UTC
    I am trying to test the code and it gives me errors. The errors are "Can't locate Algorithm/ in @INC @INC contains...., Begin failed --complication aborted.. Can I open the files and read the lines instead add them to the code? Thanks in advance for looking over my code and giving me guidance.

      Install Algorithm::Diff from cpan.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1192932]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (1)
As of 2023-06-01 19:41 GMT
Find Nodes?
    Voting Booth?

    No recent polls found