【发布时间】:2016-05-24 14:10:41
【问题描述】:
我正在尝试编写 Perl 脚本来比较 2 个文件的内容,以便列出所见的任何差异。尝试以下,但我不知道如何继续。请注意,以下只是脚本的一部分,因为我事先已对 2 个文件的内容进行了排序。提前致谢。
open (FILE1, "log") || die ("Can't open file log for reading") ;
open (FILE2, "master") || die ("Can't open file master for reading") ;
@file1 = <FILE1> ;
@file2 = <FILE2> ;
#$perlcompare = (compare('log','master')== 0) ;
#die ("Log and master files are equal and match.\n") ;
if (@file1 eq @file2) {
print "Log and master are equal and match.\n" ;
} else ????????????
exit 0;
【问题讨论】:
-
您要逐行比较文件并打印不匹配的行吗?如果您只想知道文件是否相同,您不能在操作系统中使用 diff 实用程序或 md5sum 吗?
-
@file1 eq @file2仅检查它们是否具有相同的行数。@file1 ~~ @file2将比较内容。如果你使用 Text::Diff,正如思南回答的那样,你根本不需要做额外的检查。