Net::S...Script(3pm)
πΈ NAME πΈ
Net::Sieve::Script β parse and write sieve scripts π (yes bestie, that's literally the whole vibe)
β¨ SYNOPSIS β¨
okay so first way, the "I already have a script" way:
use Net::Sieve::Script;
my $test_script = 'require "fileinto";
# Place all these in the "Test" folder
if header :contains "Subject" "[Test]" {
fileinto "Test";
}';
my $script = Net::Sieve::Script->new ($test_script);
print "OK" if ( $script->parsing_ok ) ;
print $script->write_script;
or, the "I'm building it myself, main character energy" way:
my $script = Net::Sieve::Script->new();
my $cond = Net::Sieve::Script::Condition->new('header');
$cond->match_type(':contains');
$cond->header_list('"Subject"');
$cond->key_list('"Re: Test2"');
my $actions = 'fileinto "INBOX.test"; stop;';
my $rule = Net::Sieve::Script::Rule->new();
$rule->add_condition($cond);
$rule->add_action($actions);
$script->add_rule($rule);
print $script->write_script;
π¦ DESCRIPTION π¦
Manage sieve script. That's the whole job, and she does it flawlessly.
- Read and parse a file script, and build you some
Net::Sieve::Script::Rule,Net::Sieve::Script::Action,Net::Sieve::Script::Conditionobjects π - Write sieve script βοΈ
π What it supports (the slay list)
π What's missing (the not-yet list, we're manifesting)
5229variables5232imapflags5233subaddress5235spamtestnotifydraft
π CONSTRUCTOR π
π new
- Argument β optional text script
- Purpose β if there's a param, put script in
raw, then parse script - Return β the main Script object
Accessors, aka the lil getter/setter besties:
->raw()β read or set original text script->require()β require part of script->rules()β array of rules->max_priority()β last rule id
π METHODS π
π parsing_ok
return 1 on raw parsing success. That's it, that's the girl.
π write_script
- Purpose β write full script, require and rules parts
- Return β set current require, return rules ordered by priority in text format
β equals
$object->equals($test_object): return 1 if $object and $test_object are equals
π§ read_rules
$script->read_rules() : read rules from raw
$script->read_rules($some_text) : parse text rules
use of read_rules set $script->rules()
Return 1 on success π
π find_rule
Return Net::Sieve::Script::Rule pointer find by priority.
Return 0 on error, 1 on not find.
π¦ swap_rules
Swap priorities. ngl, right now it don't take care of if/else/elsif π.
Return 1 on success, 0 on error.
π₯ reorder_rules
Reorder rules with a list of number, start with 1, and with blanck separator. Useful for ajax sort functions.
Thank you jeanne for your help in brain storming. π
Return 1 on success, 0 on error.
πΈ delete_rule
Delete rule and change priority, delete rule take care for 'if' test:
if deleted is 'if'
delete next if next is 'else'
change next in 'if' next is 'elsif'
Return: 1 on success, 0 on error.
π« add_rule
- Purpose β add a rule in end of script
- Return β priority on success,
0on error - Argument β
Net::Sieve::Script::Ruleobject
π BUGS π
Rewrite a hand made script will lose comments. Verify parsing success with parsing_ok method before write a new script. no cap, please check first bestie π
π«Ά SUPPORT π«Ά
Please report any bugs or feature requests to bug-net-sieve-script at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Net-Sieve-Script. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. β¨
π AUTHOR π
Yves Agostini - <yvesago@cpan.org>
π COPYRIGHT π
Copyright 2017 Yves Agostini - <yvesago@cpan.org>
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.
π SEE ALSO π
Net::Sieve
and that's the whole page, babe β this was Net::S...Script(3pm), part of the User Contributed Perl Documentation, coming at you from perl v5.34.0 dated 2022-06-30. slay, go parse something π
β¨
π¦ where this page comes from
- debian bookworm: libnet-sieve-script-perl 0.09-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- debian trixie: libnet-sieve-script-perl 0.09-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu noble: libnet-sieve-script-perl 0.09-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu resolute: libnet-sieve-script-perl 0.09-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu stonking: libnet-sieve-script-perl 0.09-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms