Вот простой способ сделать то, что вы хотите в Perl:
В pfile1:
Apple
Orange
grapes
В pfile2:
Orange
grapes
Apple
скрипт perl:
#!/usr/bin/env perl
open (FILE1, "pfile1") || die ("Can't open file pfile1 for reading");
open (FILE2, "pfile2") || die ("Can't open file pfile2 for reading");
my @file1 = <FILE1>;
my @file2 = <FILE2>;
@sorted_file1 = sort @file1;
@sorted_file2 = sort @file2;
die("Your Files are different\n")
unless ($#sorted_file1 == $#sorted_file2);
for my $item (0 .. $#sorted_file1) {
if ($sorted_file1[$item] ne $sorted_file2[$item]) {
die("Your Files are different\n");
}
}
print "Your Files are the same\n";
Это работает, читая строки файлов в массив, затем сортируя массив. Он проверяет, что оба массива имеют одинаковую длину, а затем завершается раньше, если соответствующее значение индекса между двумя массивами отличается.
Затем вы получите сообщение о том, что файлы одинаковы ... или нет.