in reply to compare two files line by line and perform a diff on each coressponding line
#!/usr/bin/perl use strict; use warnings; use File::Compare; use File::DirCompare; use Text::Diff; use Text::Diff::Table; use YAML; use YAML::Dumper; my $dir1 = '/usr/lib/perl5/5.8.8/CGI'; my $dir2 = '/usr/lib/perl5/5.8.8/Shell'; File::DirCompare->compare($dir1, $dir2, sub { my ($a, $b) = @_; if (! $b) { printf "Only in %s: %s\n", dirname($a), basename($a); } elsif (! $a) { printf "Only in %s: %s\n", dirname($b), basename($b); } else { print "Files $a and $b differ\n"; } }); if ($dir1 eq $dir2) { print "They're equal\n"; } else { print "They're not equal\n"; } my $tst1 = '/usr/lib/perl5/5.8.8/CGI.pm'; my $tst2 = '/usr/lib/perl5/5.8.8/Shell.pm'; my $diff = Text::Diff::Table->new; $diff = diff $tst1, $tst2, { STYLE => "Table" }; my $dumper = YAML::Dumper->new; $dumper->indent_width(4); print $dumper->dump($diff); if (compare($tst1, $tst2) == 0) { print "They're equal\n"; } else { print "They're not equal\n"; }
|
|---|