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 \s-1RFC\s0 5228, 5231 (relationnal) and regex draft

CONSTRUCTOR

new

Match and set accessors for each condition object in conditions tree, \*(L"test\*(R" 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     : \*(L"subject\*(R" or [\*(L"To\*(R", \*(L"Cc\*(R"]
  header_list  : \*(L"text\*(R" or [\*(L"text1\*(R", \*(L"text2\*(R"]
  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 \s-1LICENSE\s0 file included with this module.