Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

Re^6: Internal representation of qr//: and what is: "(?^u:" ?

by HelenCr (Monk)
on Oct 13, 2012 at 07:35 UTC ( #998822=note: print w/replies, xml ) Need Help??

in reply to Re^5: Internal representation of qr// compiled regular expressions
in thread Internal representation of qr// compiled regular expressions

And what is: '(?^u:' ?

When inspecting (using the EPIC/Eclipse Perl debugger) the internal composition of a compiled regex (for example:

my $var = qr/abc/;

then $var shows as:


What is '(?^u:' ?

Replies are listed 'Best First'.
Re^7: Internal representation of qr//: and what is: "(?^u:" ?
by Athanasius (Chancellor) on Oct 13, 2012 at 08:25 UTC

    From Extended Patterns:

    One or more embedded pattern-match modifiers, to be turned on (or turned off, if preceded by -) for the remainder of the pattern or the remainder of the enclosing pattern group (if any).


    Starting in Perl 5.14, a "^" (caret or circumflex accent) immediately after the "?" is a shorthand equivalent to d-imsx.

    So, (?^u:abc) is shorthand for (?du-imsx:abc), which means (see Modifiers), match the string abc with:

    • /d    “the old, problematic, pre-5.14 Default character set behavior”;
    • /u    using the Unicode character set;
    • -i    with case-sensitive pattern matching;
    • -m    the string not treated as multiple lines ("^" and "$" match at the start or end, respectively, of the string);
    • -s    the "." pattern not matching the newline character; and
    • -x    whitespace and comments treated as patterns to be matched.

    Hope that helps,

    Athanasius <°(((><contra mundum

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://998822]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (1)
As of 2018-03-21 04:10 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (263 votes). Check out past polls.