First of all, the use of $strip was for example purposes, replace it by $hget(test,test5) or $readini(tests.ini,tests,textmatch) or %script.startuptest or something like that for more useful applications smile

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

Make sure there are spaces around the brackets, or you'll get different results.
Wether or not $iif( [ [ $strip($false != $false) ] ] ,t,f) returns the right answer is not really the point, just that it's different from the answer of /if ( [ [ $strip($false != $false) ] ] ) { ... }

I think it has something to do with when the parameters of $identifiers are parsed (with or without [ ] )

ps: don't get me wrong, i want that ability to stay, writing a parser for all tests (isin, iswm, isop, isnum, ===) is one big slow script...