| Server IP : 216.107.138.43 / Your IP : 216.73.217.127 Web Server : LiteSpeed System : Linux srv514655384.host.ultaserver.net 5.15.0-124-generic #134-Ubuntu SMP Fri Sep 27 20:20:17 UTC 2024 x86_64 User : ojolc3829 ( 1151) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/doc/libalgorithm-diff-perl/examples/ |
Upload File : |
#!/usr/bin/perl
#
# `Diff' program in Perl
# Copyright 1998 M-J. Dominus. (mjd-perl-diff@plover.com)
#
# This program is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
#
use Algorithm::Diff qw(diff);
bag("Usage: $0 oldfile newfile") unless @ARGV == 2;
my ($file1, $file2) = @ARGV;
# -f $file1 or bag("$file1: not a regular file");
# -f $file2 or bag("$file2: not a regular file");
-T $file1 or bag("$file1: binary");
-T $file2 or bag("$file2: binary");
open (F1, $file1) or bag("Couldn't open $file1: $!");
open (F2, $file2) or bag("Couldn't open $file2: $!");
chomp(@f1 = <F1>);
close F1;
chomp(@f2 = <F2>);
close F2;
$diffs = diff(\@f1, \@f2);
exit 0 unless @$diffs;
foreach $chunk (@$diffs) {
foreach $line (@$chunk) {
my ($sign, $lineno, $text) = @$line;
printf "%4d$sign %s\n", $lineno+1, $text;
}
print "--------\n";
}
exit 1;
sub bag {
my $msg = shift;
$msg .= "\n";
warn $msg;
exit 2;
}