<< name1 = name1-value << << $name1 stat=0 result=name1-value << $(name1 unknown: warning: truncated macro reference: "$(name1" stat=1 result= << $(name1) stat=0 result=name1-value << $( name1) stat=0 result=name1-value << $(name1 ) stat=0 result=name1-value << $(na me1) unknown: warning: attribute name syntax error at: "...na>>> me1" stat=1 result= << ${na me1} unknown: warning: attribute name syntax error at: "...na>>> me1" stat=1 result= << ${${name1} != {}?name 1 defined, |$name1|$name2|} unknown: warning: attribute name syntax error at: "...>>>${name1} != {}?name " stat=1 result= << ${ ${name1} != {}?name 1 defined, |$name1|$name2|} unknown: warning: attribute name syntax error at: "... >>>${name1} != {}?name " stat=1 result= << ${ ${name1} ?name 1 defined, |$name1|$name2|} unknown: warning: attribute name syntax error at: "... >>>${name1} ?name 1 def" stat=1 result= << ${{$name1} ? {name 1 defined, |$name1|$name2|} : {name 1 undefined, |$name1|$name2|} } unknown: warning: "==" or "!="" or "<"" or "<="" or ">="" or ">" expected at: "...$name1}>>>? {name 1 defined, |" stat=1 result= << ${x{$name1} != {}?{name 1 defined, |$name1|$name2|}} unknown: warning: attribute name syntax error at: "...x>>>{$name1} != {}?{name" stat=1 result= << ${{$name1}x?{name 1 defined, |$name1|$name2|}} unknown: warning: "==" or "!="" or "<"" or "<="" or ">="" or ">" expected at: "...$name1}>>>x?{name 1 defined, |" stat=1 result= << ${{$name1} != {}x{name 1 defined, |$name1|$name2|}} unknown: warning: "?" or ":" expected at: "...}>>>x{name 1 defined, |$" stat=1 result= << ${{$name1} != {}?x{name 1 defined, |$name1|$name2|}} stat=2 result=x{name 1 defined, |name1-value||} << ${{$name2} != {}?x{name 2 defined, |$name1|$name2|}:{name 2 undefined, |$name1|$name2|}} stat=2 result= << ${{$name1} != {}?{name 1 defined, |$name1|$name2|}x} unknown: warning: ":" expected at: "...name 1 defined, |$name1|$name2|}>>>x" stat=3 result=name 1 defined, |name1-value|| << ${{$name1} != {}?{name 1 defined, |$name1|$name2|}x:{name 1 undefined, |$name1|$name2|}} unknown: warning: ":" expected at: "...name 1 defined, |$name1|$name2|}>>>x:{name 1 undefined," stat=3 result=name 1 defined, |name1-value|| << ${{$name1} != {}?{name 1 defined, |$name1|$name2|}:x{name 1 undefined, |$name1|$name2|}} stat=2 result=name 1 defined, |name1-value|| << ${{$name2} != {}?{name 2 defined, |$name1|$name2|}:x{name 2 undefined, |$name1|$name2|}} stat=2 result=x{name 2 undefined, |name1-value||} << ${{text}} unknown: warning: "==" or "!="" or "<"" or "<="" or ">="" or ">" expected at: "...text}>>>" stat=1 result= << ${{text}?{non-empty}:{empty}} unknown: warning: "==" or "!="" or "<"" or "<="" or ">="" or ">" expected at: "...text}>>>?{non-empty}:{empty}" stat=1 result= << ${{text} = {}} unknown: warning: "==" or "!="" or "<"" or "<="" or ">="" or ">" expected at: "...text}>>>= {}" stat=1 result= << ${{${ name1}} == {}} stat=0 result= << ${name1?{${ name1}}:{${name2}}} stat=0 result=name1-value << ${name2?{${ name1}}:{${name2}}} stat=2 result= << ${name2?{${name1}}:{${ name2}}} stat=2 result= << ${name2:{${name1}}:{${name2}}} unknown: warning: unexpected input at: "...${name1}}>>>:{${name2}}" stat=1 result=name1-value << ${name2?{${name1}}?{${name2}}} unknown: warning: ":" expected at: "...${name1}}>>>?{${name2}}" stat=1 result= << ${{${name1?bug:test}} != {bug:test}?{Error: NOT}:{Good:}} Postfix 2.11 compatible stat=0 result=Good: Postfix 2.11 compatible << ${{${name1??bug}} != {?bug}?{Error: NOT}:{Good:}} Postfix 2.11 compatible stat=0 result=Good: Postfix 2.11 compatible << ${{${name2::bug}} != {:bug}?{Error: NOT}:{Good:}} Postfix 2.11 compatible stat=0 result=Good: Postfix 2.11 compatible << ${{xx}==(yy)?{oops}:{phew}} unknown: warning: "{expression}" expected at: "...{xx} ==>>>(yy)?{oops}:{phew}" stat=1 result= << << name1 = name1-value << << ${name1?name 1 defined, |$name1|$name2|} stat=2 result=name 1 defined, |name1-value|| << ${name1:name 1 undefined, |$name1|$name2|} stat=0 result= << ${name2?name 2 defined, |$name1|$name2|} stat=0 result= << ${name2:name 2 undefined, |$name1|$name2|} stat=2 result=name 2 undefined, |name1-value|| << |$name1|$name2| stat=2 result=|name1-value|| << ${{$name1} != {}?{name 1 defined, |$name1|$name2|}} stat=2 result=name 1 defined, |name1-value|| << ${{$name1} != {}:{name 1 undefined, |$name1|$name2|}} stat=0 result= << ${{$name1} == {}?{name 1 undefined, |$name1|$name2|}} stat=0 result= << ${{$name1} == {}:{name 1 defined, |$name1|$name2|}} stat=2 result=name 1 defined, |name1-value|| << ${name1?{name 1 defined, |$name1|$name2|}:{name 1 undefined, |$name1|$name2|}} stat=2 result=name 1 defined, |name1-value|| << ${{$name1} != {}?{name 1 defined, |$name1|$name2|}:{name 1 undefined, |$name1|$name2|}} stat=2 result=name 1 defined, |name1-value|| << ${{$name1} != {} ? {name 1 defined, |$name1|$name2|} : {name 1 undefined, |$name1|$name2|}} stat=2 result=name 1 defined, |name1-value|| << ${{$name1} != {}?{name 1 defined, |$name1|$name2|}:name 1 undefined, |$name1|$name2|} stat=2 result=name 1 defined, |name1-value|| << ${{$name1} != {} ? {name 1 defined, |$name1|$name2|} : name 1 undefined, |$name1|$name2|} stat=2 result=name 1 defined, |name1-value|| << ${{$name1} != {}} stat=0 result=true << ${{$name1} == {}} stat=0 result= << ${{$name2} != {}?{name 2 defined, |$name1|$name2|}} stat=2 result= << ${{$name2} != {}:{name 2 undefined, |$name1|$name2|}} stat=2 result=name 2 undefined, |name1-value|| << ${{$name2} == {}?{name 2 undefined, |$name1|$name2|}} stat=2 result=name 2 undefined, |name1-value|| << ${{$name2} == {}:{name 2 defined, |$name1|$name2|}} stat=2 result= << ${name2?{name 2 defined, |$name1|$name2|}:{name 2 undefined, |$name1|$name2|}} stat=2 result=name 2 undefined, |name1-value|| << ${{$name2} != {}?{name 2 defined, |$name1|$name2|}:{name 2 undefined, |$name1|$name2|}} stat=2 result=name 2 undefined, |name1-value|| << ${{$name2} != {} ? {name 2 defined, |$name1|$name2|} : {name 2 undefined, |$name1|$name2|}} stat=2 result=name 2 undefined, |name1-value|| << ${{$name2} != {}?{name 2 defined, |$name1|$name2|}:name 2 undefined, |$name1|$name2|} stat=2 result=name 2 undefined, |name1-value|| << ${{$name2} != {} ? {name 2 defined, |$name1|$name2|} : name 2 undefined, |$name1|$name2|} stat=2 result= name 2 undefined, |name1-value|| << ${{$name2} != {}} stat=2 result= << ${{$name2} == {}} stat=2 result=true << << << ${{1} == {1}} stat=0 result=true << ${{1} < {1}} stat=0 result= << ${{1} <= {1}} stat=0 result=true << ${{1} >= {1}} stat=0 result=true << ${{1} > {1}} stat=0 result= << ${{1} == {2}} stat=0 result= << ${{1} < {2}} stat=0 result=true << ${{1} <= {2}} stat=0 result=true << ${{1} >= {2}} stat=0 result= << ${{1} > {2}} stat=0 result= << ${{a} == {a}} stat=0 result=true << ${{a} < {a}} stat=0 result= << ${{a} <= {a}} stat=0 result=true << ${{a} >= {a}} stat=0 result=true << ${{a} > {a}} stat=0 result= << ${{a} == {b}} stat=0 result= << ${{a} < {b}} stat=0 result=true << ${{a} <= {b}} stat=0 result=true << ${{a} >= {b}} stat=0 result= << ${{a} > {b}} stat=0 result= << << name1 = foo << << ${{$name1} >=blah {bar}} unknown: warning: bad operator suffix at: "...>=>>>blah" stat=1 result= << ${{aaa} == {bbb}} stat=0 result= << ${{aaa} ==length {bbb}} stat=0 result=true << ${{aaa} <=length {bbb}} stat=0 result=true << ${{aaa} >=length {bbb}} stat=0 result=true << ${{aaa} != {bbb}} stat=0 result=true << ${{aaa} !=length {bbb}} stat=0 result= << ${{aaa} > {bb}} stat=0 result= << ${{aaa} >length {bb}} stat=0 result=true << ${{aaa} >= {bb}} stat=0 result= << ${{aaa} >=length {bb}} stat=0 result=true << ${{aaa} < {bb}} stat=0 result=true << ${{aaa}