Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re: Merge the difference between two files

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


in reply to Merge the difference between two files

#!/usr/bin/perl # http://perlmonks.org/?node_id=1192908 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/Diff.pm 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?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (3)
As of 2024-04-19 23:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found