Net::Sieve::Script::Condition(3) parse and write conditions in sieve scripts

SYNOPSIS


use Net::Sieve::Script::Condition;
my $cond = Net::Sieve::Script::Condition->new('header');
$cond->match_type(':contains');
$cond->key_list('"[Test4]"');
$cond->header_list('"Subject"');
print $cond->write();

or

   my $cond = Net::Sieve::Script::Condition->new(
     'anyof (
       header :contains "Subject" "[Test]",
           header :contains "Subject" "[Test2]")'
         );
   print $cond->write();

DESCRIPTION

Parse and write condition part of Sieve rules, see Net::Sieve::Script.

Support RFC 5228, 5231 (relationnal) and regex draft

CONSTRUCTOR

new

Match and set accessors for each condition object in conditions tree, ``test'' is mandatory

Internal

  id :        id for condition, set by creation order
  condition : array of sub conditions 
  parent :    parent of sub condition
  AllConds :  array of pointers for all conditions

Condition parts
  not          : 'not' or nothing
  test         : 'header', 'address', 'exists', ...
  key_list     : ``subject'' or [``To'', ``Cc'']
  header_list  : ``text'' or [``text1'', ``text2'']
  address_part : ':all ', ':localpart ', ...
  match_type   : ':is ', ':contains ', ...
  comparator   : string part

METHODS

equals

 Purpose  : test conditions
 Return   : 1 on equals conditions

write

 Purpose  : write rule conditions in text format
 Return   : multi-line formated text

AUTHOR

    Yves Agostini
    CPAN ID: YVESAGO
    Univ Metz
    [email protected]
    http://www.crium.univ-metz.fr

COPYRIGHT

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

The full text of the license can be found in the LICENSE file included with this module.