logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Net::Sieve::Script::Condition - parse and write conditions in sieve scripts

Author

           Yves Agostini
           CPAN ID: YVESAGO
           yvesago@cpan.org

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

Description

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

       Support RFC 5228, 5231 (relationnal) and regex draft

Methods

equals
        Purpose  : test conditions
        Return   : 1 on equals conditions

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

Name

       Net::Sieve::Script::Condition - 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();

See Also