Я знаю, что это было задано раньше, и я знаю, что есть функции, чтобы сделать это проще в Perl. Но то, что я хочу, это советы по моему конкретному коду. Я хочу просмотреть каждую строку текста, которую я прочитал из файла, и сравнить ее с той же строкой из другого файла, напечатав их, если они разные.Сравнение двух массивов в Perl
Я пробовал столько вариаций, о которых я мог думать, и никто не работает. Этот конкретный код, который я публикую, считает, что каждый элемент в массиве отличается от того, который находится в другом массиве.
use 5.18.2;
use strict;
use utf8;
printf "This program only compares two files.\n"
. "Here are the differences between "
. $ARGV[0] . " and " . $ARGV[1] . ":\n";
open FIRST_FH, '<', $ARGV[0];
chomp(my @file1 = <FIRST_FH>);
close FIRST_FH;
open SECOND_FH, '<', $ARGV[1];
chomp(my @file2 = <SECOND_FH>);
close SECOND_FH;
for(my $i=0; $i < scalar @file1; ++$i){
my $string = $file2[$i];
unless($_ =~ /$string/){
print "Difference found: @file1[$i], @file2[$i]\n";
}
}
Я полностью забыл об эквалайзерах и ne, хотя я узнал о них. Спасибо за правильное направление. – banana