sub compare_file
{
# 用于比对两文件是否相同
my ($rec1,$ref1) = @_;
open(A, "$rec1") or die "1\n";
open(B, "$ref1") or die "2\n";
#open A,"a.txt";
#open B,"b.txt";
my @a=<A>;
my @b=<B>;
@a=map{split(/\s+/,$_)}@a;
@b=map{split(/\s+/,$_)}@b;
my $a = @a;
my $b = @b;
my $diff=0; #0代表相同,1代表不同
if($a < $b)
{
$a=$b;
}
for (0..$a-1)
{
if ($a[$_] eq $b[$_])
{ next;}
else
{ $diff=1;return "$diff";}
}
return "$diff";
close(A);
close(B);
}
my $des_file = "$path1/aaa";
my $src_file = "//127.0.0.1/$path2/bbb";
my $get_compare_result = &compare_file($des_file,$src_file);
# 如果结果为1,则备份目标路径,copy源路径文件进行操作
if ( $get_compare_result == 1) {
my $time = '当前日期';
copy($des_file,"$des_file-bakup-$time")|| warn "could not copy files :$!" ;
copy($src_file,$des_file) ;
}
通过比较文件,判断两文件是否相同