[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.2.3 Control Flow

The only control flow statement Sieve has is "if" statement. In its simplest form it is:

 
if condition { ... }

The effect of this statement is that the sequence of actions between the curly braces is executed only if the condition evaluates to true.

A more elaborate form of this statement allows to execute two different sets of actions depending on whether the condition is true or not:

 
if condition { ... } else { ... }

The most advanced form of the "if" statement allows to select an action depending on what condition from the set of conditions is met.

 
if cond1 { ... } elsif cond2 { ... } else { ... }

There may be any number of "elsif" branches in an "if" statement. However it may have at most one "else" branch. Notes for C programmers:

  1. The braces surrounding each branch of an "if" statement are required.
  2. The "else if" construct is disallowed. Use "elsif" keyword instead.

Here's an example of "if" statement:

 
if header :contains "from" "coyote"
  {
    discard;
  }
elsif header :contains ["subject"] ["$$$"]
  {
    discard;
  }
else
  {
    fileinto "INBOX";
  }

The following section describes in detail conditions used in "if" statements.



This document was generated by Sergey Poznyakoff on December, 23 2004 using texi2html