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

Re: RFC: New regex modifier flags

Thread Previous | Thread Next
From:
H.Merijn Brand
Date:
August 4, 2010 00:12
Subject:
Re: RFC: New regex modifier flags
Message ID:
20100804091231.02e24cc9@pc09.procura.nl
On Tue, 03 Aug 2010 13:22:36 -0600, karl williamson
<public@khwilliamson.com> wrote:

> 1) We  choose option letters that don't conflict with any keyword 
> beginnings.  The problem is that the obvious letters do.
> 
> 2) Until 5.16 require that anyone using these options do so in the 
> (?:...) form, thus avoiding any ambiguities.
> 
> 3) Implement them in such a way that until 5.16 any ambiguity is 
> resolved in favor of the interpretation that a keyword is meant; there 
> already is a deprecation message generated whenever such an 
> interpretation would happen.  The implementation of this isn't difficult.
> 
> I think that's it.  Here is your ballot (I briefly what I think are the 
> up/downsides.  Feel free to add things.)
> 
> 1) Do nothing.  Don't implement this, leave the Unicode bugs there.
> 
> 2) Use two-letter options for the mutually exclusive ones.  Extensible, 
> visually distinguishable, but /abc/Clip may be hard to read.
> 
> 3) Use single capital letters for these options; distinguishable, not 
> extensible.
> 
> 4) Use single letter lower case option letters, but choose non-mnemonic 
> ones to avoid ambiguities with existing keywords.  They are not visibly 
> distinguished from options that aren't mutually exclusive.
> 
> 5) Use single letter lower case option letters, but until 5.16 they are 
> only valid in the (?:) form.  They are not visibly distinguished from 
> options that aren't mutually exclusive.
> 
> 6) Use single letter lower case option letters implemented in such a way 
> that until 5.16 ambiguities are resolved to the existing 
> interpretations.  The option letters are not visibly distinguished from 
> options that aren't mutually exclusive.  After the deprecation cycle in 
> 5.14, there won't be these ambiguities.  My vote goes to this one.

7) use a currently unsupported syntax with non-ascii characters that
   has no conflicts:

   $a =~ m{pattern}msi_Cu_x

$ perl -we'$a =~ m{foo}msi_'
Bareword found where operator expected at -e line 1, near "m{foo}msi_"
syntax error at -e line 1, next token ???
Execution of -e aborted due to compilation errors.

-- 
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