Skip to content
tremble edited this page Sep 14, 2010 · 3 revisions

Welcome to the perl-Parse-Sieve wiki!

Parse::Sieve was originally based of Net::Sieve::Script, unfortunately while trying to get it to do some more interesting things, and parse existing sieve scripts it was discovered that there were a number of flaws in the core design of Net::Sieve::Script. Net::Sieve::Script does not actually parse sieve scripts, it simply runs a number of regexes over it. This approach relies on several incorrect assumption

  • ; is only used as a command terminator, this is not true, they are permitted in the various string objects.
  • Nobody every nests their if statements, unfortunately my users did.
  • Nobody wants more than 50 commands, unfortunately my users did.

Parse::Sieve is not complete, I’ve been slowly hacking on it for a while. It’s been and being refactored. It’s a little more lenient than the core RFCs, (which occasionally contradict themselves) however it should always spit out valid Sieve…

Parse::Sieve is released under the same terms as Perl it’s self (dual licensed Artistic and GPL)

TODO:

  • While Parse::Sieve will happily parse code with comments in it currently strips them out, I would like to find some sane way to preserve them…
  • I’m still writing the test cases, oh the joy. Maybe next time I’ll write them as I go along.
  • The documentation is only partial at this point, I’ll get there, eventually
Clone this wiki locally