The warning messages occur because of some error in the construction of `@boolArray`, and can be confirmed by adding a warn statement to the answer block as follows:
for (my $r = $numInputs; $r < $numInputs + $numOutputs; $r++) {
for (my $c = 0; $c < $numRows; $c++) {
warn("not found at $r, $c") if !defined($boolArray[$r][$c]);
ANS(Compute($boolArray[$r][$c])->cmp());
}
}
I did not attempt to trace back the issue, but did notice that there are other issues with `@boolArray` -- e.g. the first two correct answers are 2 and 3 (not very boolean), and other correct answers do not match the solution table.
In WW2.19, a booleanContext.pl macro was added, which may address your request for entering boolean expressions. I have attached a modified version of your provided problem which uses the new context -- though the context would be more relevant for entering logical expressions. I'd be happy to share more examples as well.