> Does anyone know why
>
> $ (ksh93 "mode='[[ "hello" == ~(E).*hello ]] && echo 'bar'")
> bar
>
> works but
>
> $ (ksh93 "mode='~(E)' ; [[ "hello" == ${mode}.*hello ]] && echo 'bar'")
>
> does not produce a match?I'd guess it's part of the shell syntax, and not evaluated as part of the pattern value (i.e. unlike regexp \< and \>). Janis
