This isnt a bug, just an inconvience you might say..

$strip( ) should be used to remove control characters from strings which is what you are doing.. however the contents of $strip( ) are not evaluated, and as a result the if statement is merely checking that there is a value inside and not IF A = B.

if you notice $iif($strip(a) == $strip(b),$true,$false)) - returns False.

now try, echo $iif($strip($false == $false),$ifmatch,f) - which returns $false == $false - so it wasnt evaluated...

now, if we do.. $iif([ [ $strip($false == $false) ] ],t,f) - you get the right answer after all, by reevaulating it.

So the short and sweet answer is, that it isnt a bug, just that the contents of $strip() are not evaluated so the == isnt checked as a normal if statement.

Hope this clears it up.

Eamonn.