On Fri, May 07, 2021 at 07:23:05PM +0300, Henrik K wrote:
> On Fri, May 07, 2021 at 09:07:08AM -0700, Loren Wilton wrote:
> > > > >  header __SUB_CAP Subject:Capture /Your (\w+) Order/i $(__COMPANY)=\1
> > > > 
> > > > Would :capture play well with (e.g.) :addr, :name, :raw, etc?
> > > 
> > > It might as well be a tflag or something.  Why limit capturing to headers
> > > only?
> > 
> > I hadn't intended it to be limited to headers only, but I guess the syntax
> > woudl have to be a little different for raw, body, full, etc, since they
> > don't have a part keyword in the rule syntax.
> 
> Perl already has named capture groups as legit syntax, so it would be most
> simple to actually use them.
> 
> https://perldoc.perl.org/perlre#(?%3CNAME%3Epattern)
> 
> header FROM_NAME /^From: "(?<NAME>\w+)/
> 
> ... just save the matches it in the rule code
> $pms->{captured_values}->{FROM_NAME}->{NAME} = $+{NAME};
> 
> Then use it in a rule:
> 
> body MATCHER /My name is ${FROM_NAME:NAME}/
> 
> Don't nitpick on ${}, could be any similar syntax.  Code adds this rule to
> FROM_NAME dependency chain.  When FROM_NAME hits, run MATCHER regex
> (obviously first recompile the regexp).

Implementation pending:

https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7992

Reply via email to