develooper Front page | perl.perl5.porters | Postings from May 2010

Re: PATCH: [perl #58182] partial, "The Unicode Bug". Add unicode semantics for \s, \w

Thread Previous | Thread Next
From:
H.Merijn Brand
Date:
May 19, 2010 01:23
Subject:
Re: PATCH: [perl #58182] partial, "The Unicode Bug". Add unicode semantics for \s, \w
Message ID:
20100519102257.267499bb@pc09.procura.nl
On Wed, 19 May 2010 09:56:59 +0200, Steffen Mueller <smueller@cpan.org>
wrote:

> Hi all,
> 
> Jan Dubois wrote:
> > On Tue, 18 May 2010, Eric Brine wrote:
> >> On Tue, May 18, 2010 at 4:04 PM, demerphq <demerphq@gmail.com> wrote:
> >>> Basically we only have to worry about 'l' because of 'le', and 'f'
> >>> because of 'if'. Any others?
> 
> [...]
> 
> >> Any of the following immediately following the delimiter are currently
> >> valid, but will become a syntax error (e.g. /foo/le+1) or different valid
> >> code (e.g. /foo/lt+1):
> >>
> >>    - unless & until from /u
> >>    - le & lt from /l
> >>    - [none] from /t
> >>
> >> We're precluded from using these:
> >>
> >>    - /a (and)
> >>    - /f (for, foreach)
> >>    - /n (ne)
> >>    - /w (when, while)
> 
> I think these are MUCH more likely to be a problem than the three above.

I have used '/pat/and action' a LOT in one-liners, alwyas being aware
that 'and' works, and 'or' doesn't

> >> We don't have to worry about these:
> 
> [...]
> 
> > Yes, but why bother?  What is wrong with your previous suggestion to only allow
> > the new modifiers after a
> > 
> >     use 5.014;
> > 
> > That lets us pick the letters based on mnemonic value instead of having to
> > work around some obscure edge cases.  And the code using the new letters
> > will not work on earlier Perl versions anyways, so having the "use 5.014"
> > in there is a good idea anyways.
> 
> I couldn't agree more with this last paragraph.
> 
> > This will also allow to us to turn any currently unused modifiers into syntax
> > errors right away for all 5.14+ code as well without breaking any compatibility.
> > 
> > What's not to like?
> 
> Edge cases and action at a distance. Edges cases internally (with any 
> such decision, we start maintaining to branches of behaviour in the same 
> code base). Action at a distance in user code.
> 
> Of course, use VERSION is lexical, so this isn't action across 1M lines 
> of code, but it may well be across a couple of thousands in a badly 
> written application or module.
> 
> Don't get me wrong. I'd rather move forward and make behaviour 
> conditional on the use VERSION at the top of the file than not move on 
> at all. But I believe that this is a case of being overzealous regarding 
> backwards compatibility.
> 
> So I guess overall, this is a +1 to any solution, with use VERSION or 
> without.
> 
> --Steffen


-- 
H.Merijn Brand  http://tux.nl      Perl Monger  http://amsterdam.pm.org/
using 5.00307 through 5.12 and porting perl5.13.x on HP-UX 10.20, 11.00,
11.11, 11.23, and 11.31, OpenSuSE 10.3, 11.0, and 11.1, AIX 5.2 and 5.3.
http://mirrors.develooper.com/hpux/           http://www.test-smoke.org/
http://qa.perl.org      http://www.goldmark.org/jeff/stupid-disclaimers/

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About