BEGIN {
nf = split("5 |05|0x4|00| 5|-0x12| 011|-013|1.0|5.1e1|-5|-05|+2", f, "|")
for (i = 1; i <= nf; i++) {
delete g
g[f[i]]
for (x in g) {
if (x"" != f[i]"")
printf "Error in string test: [%s] != [%s]\n", x, f[i]
}
delete g
z = f[i]+0 # trigger numeric conversion
g[f[i]]
for (x in g) {
if (x"" != f[i]"")
printf "Error in strnum test: [%s] != [%s]\n", x, f[i]
}
}
}