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