Look at this, please, and tell me why the Error directive is reached:
Code:
<if "'prod' !~ /prod|dev|test/" >
Error "This message should not appear"
</if>
A Perl "one-liner" confirms that the syntax of the regex is correct, and that it should (of course) match the string. Therefore, the result of the "does not match" operator should be false.
Actually, this set of directives produces this message whether the relational operator is "match" or "not-match!"
I am
also encountering syntax-errors when evaluating a directive of this form:
Code:
<if ${DEFINED_SYMBOL} =~ ... >
...
if it is indeed a symbol created by [font=courier]Define DEFINED_SYMBOL foobar[/code]. (And, yes, "
${}"
is correct in this case,
not %{} ...)
The syntax-error complains about the
!~ (or
=~ symbol, saying that it expected a left-parentheis,
unless the symbol-reference is enclosed in single quotes:
Code:
<if '${DEFINED_SYMBOL}' =~ ... >
This is Apache 2.4 current release (Ubuntu). It is simply inconceivable to me that Apache could have a directive that literally
doesn't work, but I seem to be being pushed toward that conclusion.