HP-UX 11 awk seems to have some issues parsing ! in expressions.
For example:
% awk 'BEGIN { print 1 + !0 }'
syntax error The source line is 1.
The error context is
BEGIN { print 1 + >>> ! <<< 0 }
awk: The statement cannot be correctly parsed.
The source line is 1.
Adding parentheses appers sufficient to avoid the problem:
% awk 'BEGIN { print 1 + (!0) }'
2
for (i = 0; i < num_vars; i++) {
sep = (i+1) != num_vars ? "," : ""
s = vars[i]
- o = offsets[strings[s]] + !opts["zero"]
+ o = offsets[strings[s]] + (!opts["zero"])
print "\t" s " = " o sep
if (o > max) {
max = o