Operator < on strings in ESO-Lua ignores everything except letters and digits. It's useless for sorting strings containing spaces and/or punctuation, as it doesn't define a total order.
Examples:
Lua Code:
"a" < "A" == true
"b" < "A" == false
"A" < "a" == false
"B" < "c" == true
-- interesting, the order is: "a", "A", "b", "B", "c", ...
-- that's nice, actually
"aa" < "A" == false
"aa" < "Aa" == true
-- more surprises, the order is: "a", "aa", "aA", "Aa", "AA", ...
-- but still fine
"a head" < "ahead" == false
"ahead" < "a head" == false
-- they're not equal, yet neither is less than the other
-- this is bad, table.sort will not give consistent order
"#" < "~" == false
"~" < "#" == false
-- it doesn't compare the characters at all