http://qs1969.pair.com?node_id=801891


in reply to About \d \w and \s

My quick reaction is that the default should be /a and people should have to explicitly request /u.

To the extent it breaks existing code, I think it's in the interest of ensuring that going forward, there are the least amount of surprises for new code being written. If there's a way to "use re 'legacy_unicode'" so people can drop that at the top of their code instead of fixing every individual regex, that seems like an easy enough way to offer back compatibility.

But I firmly believe the future default should not be the legacy behavior.

-xdg

Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.

Replies are listed 'Best First'.
Re^2: About \d \w and \s
by jakobi (Pilgrim) on Oct 18, 2009 at 17:35 UTC
    My quick reaction is that the default should be /a...
    ++
    If there's a way to "use re 'legacy_unicode'"...
    ...
    But I firmly believe the future default should not be the legacy behavior.

    !? (/me wondering about --)

    There's enough perl -e one-line filters in shell scripts to make just require an additional 'use' statement a daunting and painful task, merely to retain the originally intended behaviour. So I'd say stick to the ASCII semantics by default, but allow modifiers and use-clauses (file-only scope!?) to modify the behaviour.

    With Unicode proper it seems to be useful to add a single new \w escape that includes latin1 umlauts. Similar arguments can be made for extended whitespace escapes.

    But basically it's impossible to add enough escapes for all kinds of sensible subsets of digit-class characters, whitespace, word-characters or alphanumerical characters: The only sane way to cope is switching to explicit character classes early in our regex.

    And we probably shouldn't even consider wasting an unused character for a new alternative \w-style escape adding latin1-umlauts (says a German, who is using those umlauts all the time).

    adding another 0.01€ and staying firmly in the ASCII semantics camp,
    Peter