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.
In reply to Re: Need to have perl script to compare two txt files and print difference along with under which segment the difference is
by thanos1983
in thread Need to have perl script to compare two txt files and print difference along with under which segment the difference is
by User_04271983
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |