Package TWiki::If

Support for the conditions in %IF{} statements. Basically a simple stack-based parser for infix expressions that generates a parse tree that can subsequently be evaluated.

ClassMethod new (\%operators) -> \%factory

Construct a new if node factory.

  • \%operators reference to a hash of operators.

Each operator must have the following fields: prec (precedence) type (0 unary 1 binary) exec (ref to a function to execute). If not provided, the default set of boolean operations supported by %IF is used.

ObjectMethod evaluate ($twiki) -> $result

Execute the parse node.

!!!new!!!

ObjectMethod parse ($string) -> \$if

  • $string - string containing an expression to parse

Construct a new search node by parsing the passed expression. Return the new object.