#!perl #
# ======================================================================
if (scalar(@ARGV)<1) {
die "Arguments (paths) missing. Error";
}
opendir(LU,$ARGV[0]) || die "Directory '$ARGV[0]' not found. Error";
@DIR1=readdir(LU);
closedir(LU);
opendir(LU,$ARGV[1]) || die "Directory '$ARGV[1]' not found. Error";
@DIR2=readdir(LU);
closedir(LU);
#
foreach $NAME1 (@DIR1) {
$PATH1=$ARGV[0].$NAME1;
unless ($NAME1 eq '.') {
unless ($NAME1 eq '..') {
unless (-d $PATH1) {
foreach $NAME2 (@DIR2) {
$PATH2=$ARGV[1].$NAME2;
if ($NAME1 eq $NAME2) {
open(LU,$PATH1) || die "Cannot open '$PATH1'. Error";
@FILE1=;
close(LU) || die "Error";
open(LU,$PATH2) || die "Cannot open '$PATH2'. Error";
@FILE2=;
close(LU) || die "Error";
# Check for the number of lines:
if (scalar(@FILE1)==scalar(@FILE2)) {
# Check for the contents:
foreach $LINE1 (@FILE1) {
$LINE2=shift(@FILE2);
if ($LINE1 ne $LINE2) {
print "$NAME1: different lines\n";
goto EndCheck;
}
}
print "$NAME1: identical - deleted\n";
# *** Very dangerous command ***
unlink($PATH2);
# ******************************
EndCheck:
} else {
print "$NAME1: different number of lines\n";
}
}
}
}
}
}
}
# ======================================================================
1; #