Hello User_04271983,
Welcome to the Monastery. A very simple solution that will give you the desired output is:
#!/usr/bin/perl use strict; use warnings; use IO::All; use Data::Dumper; my @lines1 = io('one.txt')->chomp->slurp; my @lines2 = io('two.txt')->chomp->slurp; # print Dumper \@lines1, \@lines2; use Algorithm::Diff qw(diff); my @sdiffs = diff( \@lines1, \@lines2 ); print Dumper \@sdiffs; __END__ $ perl test.pl $VAR1 = [ [ [ '-', 13, ' EJHFG' ] ], [ [ '+', 22, ' IJFH' ], [ '+', 23, ' LAKJSK' ] ] ];
It will not give you the key where there is a difference in the file but it is really nice and short as a solution to know the line number and go and check manually. Alternatively you can parse the output and create a loop and retrieve the lines from the array your self :)
Hope this helps, Thanos.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Need to have perl script to compare two txt files and print difference along with under which segment the difference is
by User_04271983 (Initiate) on Jan 24, 2019 at 17:50 UTC |