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: '(?^u:abc)'What is '(?^u:' ?
| [reply] [d/l] [select] |
From Extended Patterns:
(?^alupimsx)
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).
and
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
| [reply] |