On Tue, Nov 21, 2017 at 08:46:59PM +0000, Alex Bennée wrote: > > Eric Sunshine <sunshine@xxxxxxxxxxxxxx> writes: > > Aside from those observations, it looks like the tokenizer in this > > function is broken. For any input with the address enclosed in "<" and > > ">", the comment is lost entirely; it doesn't even end up in the > > @tokens array. Since you're already fixing bugs/regressions in this > > code, perhaps that's something you'd like to tackle as well in a > > separate patch? ("No" is an acceptable answer, of course.) > > > >> } elsif ($token eq "<") { > >> push @phrase, (splice @address), (splice @buffer); > >> } elsif ($token eq ">") { > > I can have a go but my perl-fu has weakened somewhat since I stopped > having to maintain perl code for a living. It's almost as though my > brain was glad to dump the knowledge ;-) > > I guess we could maintain a nesting count and a current token type and > use that to more intelligently direct the nested portions to the > appropriate bits. Maybe Matthieu or Remi (CC'ed) might want to chime in > on other options? Trying to come up with a reinvention of regexps for email addresses is asking for trouble, not to mention a crappy rod for your own back. Don't do that. This is why people use Mail::Address. https://metacpan.org/pod/distribution/MailTools/lib/Mail/Address.pod -- Thomas Adam