Parse and write conditions in sieve scripts
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();
Parse and write condition part of Sieve rules, see Net::Sieve::Script.
Support \s-1RFC\s0 5228, 5231 (relationnal) and regex draft
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
Purpose : test conditions Return : 1 on equals conditions
Purpose : write rule conditions in text format Return : multi-line formated text
Yves Agostini CPAN ID: YVESAGO Univ Metz [email protected] http://www.crium.univ-metz.fr
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.