У меня проблема с кодом для сравнения пар строк. мои данные в CSV-файле, как показано ниже
WorkerId,query,sysa,sysb,Answer.selectedsys
A2ZBU2WW9WHXB7,male,lucene-std-rel,random,lucene-std-rel
A2ZH0XH25HXD1Y,male,lucene-std-rel,random,lucene-std-rel
A1V89RF7V0DCF5,male,lucene-noLen-rel,lucene-noLen-rr,lucene-noLen-rel
AZ92SE5L1P238,male,lucene-noLen-rel,lucene-noLen-rr,lucene-noLen-rr
A2ZBU2WW9WHXB7,male,lucene-std-rel,lucene-noLen-rr,lucene-std-rel
A1DGNCZZWELLVX,male,lucene-std-rel,lucene-noLen-rr,lucene-noLen-rr
выходные результаты должны быть такими, как показано ниже:
compare: lucene-std-rel random
result: lucene-std-rel-->2 random--> 0 draw (choose both)--> 0
compare: lucene-noLen-rel lucene-noLen-rr
result: lucene-noLen-rel=1 lucene-noLen-rr =1 draw=0
compare: lucene-std-rel lucene-noLen-rel
result: lucene-std-rel= 1 lucene-noLen-rel=1 draw=0.
мой код: кажется, просто посчитайте, если пользователь выберет sysA, sysB или оба без учета пары строк.
for($i=0;$i<@query;++$i) {
if ( $field[1] eq $query[$i] ) {
if ( $field[4] eq $field[2]) {
print "$query[$i]: $field[4]\n";
$counta++;
}
if ( $field[4] eq $field[3]) {
print "$query[$i]: $field[4]\n";
$countb++;
}
if ( $field[4] eq ($field[2] && $field[3])) {
print "$query[$i]: $field[4]$field[3]\n";
$countc++;
}
любая помощь очень ценится.