name1 = name1-value

$name1
$(name1
$(name1)
$( name1)
$(name1 )
$(na me1)
${na me1}
${${name1} != {}?name 1 defined, |$name1|$name2|}
${ ${name1} != {}?name 1 defined, |$name1|$name2|}
${ ${name1} ?name 1 defined, |$name1|$name2|}
${{$name1} ? {name 1 defined, |$name1|$name2|} : {name 1 undefined, |$name1|$name2|} }
${x{$name1} != {}?{name 1 defined, |$name1|$name2|}}
${{$name1}x?{name 1 defined, |$name1|$name2|}}
${{$name1} != {}x{name 1 defined, |$name1|$name2|}}
${{$name1} != {}?x{name 1 defined, |$name1|$name2|}}
${{$name2} != {}?x{name 2 defined, |$name1|$name2|}:{name 2 undefined, |$name1|$name2|}}
${{$name1} != {}?{name 1 defined, |$name1|$name2|}x}
${{$name1} != {}?{name 1 defined, |$name1|$name2|}x:{name 1 undefined, |$name1|$name2|}}
${{$name1} != {}?{name 1 defined, |$name1|$name2|}:x{name 1 undefined, |$name1|$name2|}}
${{$name2} != {}?{name 2 defined, |$name1|$name2|}:x{name 2 undefined, |$name1|$name2|}}
${{text}}
${{text}?{non-empty}:{empty}}
${{text} = {}}
${{${ name1}} == {}}
${name1?{${ name1}}:{${name2}}}
${name2?{${ name1}}:{${name2}}}
${name2?{${name1}}:{${ name2}}}
${name2:{${name1}}:{${name2}}}
${name2?{${name1}}?{${name2}}}
${{${name1?bug:test}} != {bug:test}?{Error: NOT}:{Good:}} Postfix 2.11 compatible
${{${name1??bug}} != {?bug}?{Error: NOT}:{Good:}} Postfix 2.11 compatible
${{${name2::bug}} != {:bug}?{Error: NOT}:{Good:}} Postfix 2.11 compatible
${{xx}==(yy)?{oops}:{phew}}

name1 = name1-value

${name1?name 1 defined, |$name1|$name2|}
${name1:name 1 undefined, |$name1|$name2|}
${name2?name 2 defined, |$name1|$name2|}
${name2:name 2 undefined, |$name1|$name2|}
|$name1|$name2|
${{$name1} != {}?{name 1 defined, |$name1|$name2|}}
${{$name1} != {}:{name 1 undefined, |$name1|$name2|}}
${{$name1} == {}?{name 1 undefined, |$name1|$name2|}}
${{$name1} == {}:{name 1 defined, |$name1|$name2|}}
${name1?{name 1 defined, |$name1|$name2|}:{name 1 undefined, |$name1|$name2|}}
${{$name1} != {}?{name 1 defined, |$name1|$name2|}:{name 1 undefined, |$name1|$name2|}}
${{$name1} != {} ? {name 1 defined, |$name1|$name2|} : {name 1 undefined, |$name1|$name2|}}
${{$name1} != {}?{name 1 defined, |$name1|$name2|}:name 1 undefined, |$name1|$name2|}
${{$name1} != {} ? {name 1 defined, |$name1|$name2|} : name 1 undefined, |$name1|$name2|}
${{$name1} != {}}
${{$name1} == {}}
${{$name2} != {}?{name 2 defined, |$name1|$name2|}}
${{$name2} != {}:{name 2 undefined, |$name1|$name2|}}
${{$name2} == {}?{name 2 undefined, |$name1|$name2|}}
${{$name2} == {}:{name 2 defined, |$name1|$name2|}}
${name2?{name 2 defined, |$name1|$name2|}:{name 2 undefined, |$name1|$name2|}}
${{$name2} != {}?{name 2 defined, |$name1|$name2|}:{name 2 undefined, |$name1|$name2|}}
${{$name2} != {} ? {name 2 defined, |$name1|$name2|} : {name 2 undefined, |$name1|$name2|}}
${{$name2} != {}?{name 2 defined, |$name1|$name2|}:name 2 undefined, |$name1|$name2|}
${{$name2} != {} ? {name 2 defined, |$name1|$name2|} : name 2 undefined, |$name1|$name2|}
${{$name2} != {}}
${{$name2} == {}}


${{1} == {1}}
${{1} <  {1}}
${{1} <= {1}}
${{1} >= {1}}
${{1} >  {1}}
${{1} == {2}}
${{1} <  {2}}
${{1} <= {2}}
${{1} >= {2}}
${{1} >  {2}}
${{a} == {a}}
${{a} <  {a}}
${{a} <= {a}}
${{a} >= {a}}
${{a} >  {a}}
${{a} == {b}}
${{a} <  {b}}
${{a} <= {b}}
${{a} >= {b}}
${{a} >  {b}}

name1 = foo

${{$name1} >=blah {bar}}
${{aaa} == {bbb}}
${{aaa} ==length {bbb}}
${{aaa} <=length {bbb}}
${{aaa} >=length {bbb}}
${{aaa} != {bbb}}
${{aaa} !=length {bbb}}
${{aaa} > {bb}}
${{aaa} >length {bb}}
${{aaa} >= {bb}}
${{aaa} >=length {bb}}
${{aaa} < {bb}}
${{aaa} <length {bb}}
${{aaa} <= {bb}}
${{aaa} <=length {bb}}

name1 = whatever

${ test_named_fn { ABCBA } }
${test_named_fn{AB%BA}}
$bogus{AB%BA}
