Re: [PATCH] git send-email: edit recipient addresses with the --compose flag
- From
- Ian Hilt <ian.hilt@gmx.com>
- Date
- Nov 11, 2008, 20:47 UTC
- Message-ID
- <alpine.LFD.2.00.0811111542230.24205@sys-0.hiltweb.site>
- In-Reply-To
- <200811111230.28076.fg@one2team.com>
On Tue, 11 Nov 2008, Francis Galiegue wrote:
Show 16 quoted lines
> Le Tuesday 11 November 2008 02:49:19 Tait, vous avez écrit :
> > > > > + if ($c_file =~ /^To:\s*+(.+)\s*\nCc:/ism) {
> > > >
> > > > Greedy operators are only supported with perl 5.10 or more... I think
> > > > it's a bad idea to use them...
> > >
> > > The problem here was that a space should follow the field, but it may
> > > not. The user may unwarily backup over it. "\s*" would match this
> > > case.
> > >
> > > But if there is a space, it is included in the "(.+)".
> >
> > Not in any version of Perl to which I have access.
> >
>
> And if you see a space in (.+), your regex engine is buggy anyway.So what does this script produce on your systems?
#!/usr/bin/perl -Tw --8<-- use strict; my $ws = "To: \nCc:";
$ws =~ /^To:\s*(.+)\s*\nCc:/ism;
if ($1 eq ' ') {
print "\$1 is equal to a space.\n";
}
-->8--On mine, it prints the message. So it seems it is matching _a_ space. This resulted in an illegal recipient field. Junio's suggestion to change this to
/^To:\s*(\S.+?)\s*\nCc:/ism
worked beautifully.