Скрипт, который я запускал в windows с клубничным perl, работает и отлично дает результаты, но тот же скрипт на машине unix/Linux не работает , Может ли кто-нибудь помочь в этом. В windows я использую версию perl 5.20.1, а в Ubuntu у меня версия perl 5.22.1.Скрипт, который я запускал в windows с strawberry perl, не работает в unix-машине
Вот мой код
use strict;
use warnings;
my $fname = '/hadoop/user/Kishore/Temp1.txt';
open my $afile, "<", $fname or die "Couldn't open $fname: $!";
my %a_lines;
my %b_lines;
my $count1=0;
while (my $line = <$afile>) {
chop $line;
$a_lines{$line} = undef;
$count1=$count1+1;
}
print"File1 records count : $count1\n";
close $afile;
$fname = '/hadoop/user/Kishore/Temp2.txt';
my $OUTPUT = '/hadoop/user/Kishore/final_result.txt';
open my $bfile, "<", $fname or die "Couldn't open $fname: $!";
open (OUTPUT, ">$OUTPUT") or die "Cannot open $OUTPUT \n";
my $count=0;
my $count2=0;
while (my $line = <$bfile>) {
chop $line;
$b_lines{$line} = undef;
$count2=$count2+1;
next if exists $a_lines{$line};
$count=$count+1;
print OUTPUT "$line \t===> The Line which is selected from file2/arg2 is mismatching/not available in file1\n";
}
print "File2 records count : $count2\n";
print "Total mismatching/unavailable records in file1 : $count\n";
close $bfile;
close OUTPUT;
Вы используете 'chop' , а не 'chomp'. Это _might_ будет проблемой, если ваши файлы имеют окончания строки Windows. – simbabque
Что значит «не работает»? – Toto
Не могли бы вы описать результат ожидания и результат, который у вас есть на Linux? Любое сообщение об ошибке? Какие принты работают и какие из них не отображаются? – JeromeFr