diff options
author | David Nicol <davidnicol@gmail.com> | 2009-08-30 14:41:21 +0200 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2009-08-30 14:41:21 +0200 |
commit | ed02a3bf5adcb3fb74cb46557427f6afdc14e80c (patch) | |
tree | 779c715eb9a1122f571e74137e40edb4b46fdc71 /pod/perlop.pod | |
parent | b66dd24d3152825e0359d5841ad95847a9a390a9 (diff) | |
download | perl-ed02a3bf5adcb3fb74cb46557427f6afdc14e80c.tar.gz |
Document better what is allowed as regex delimiters
Identifier characters are allowed. Also add a test
Diffstat (limited to 'pod/perlop.pod')
-rw-r--r-- | pod/perlop.pod | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/pod/perlop.pod b/pod/perlop.pod index 1df9fcb305..adf0718836 100644 --- a/pod/perlop.pod +++ b/pod/perlop.pod @@ -1152,11 +1152,13 @@ process modifiers are available: c Do not reset search position on a failed match when /g is in effect. If "/" is the delimiter then the initial C<m> is optional. With the C<m> -you can use any pair of non-alphanumeric, non-whitespace characters +you can use any pair of non-whitespace characters as delimiters. This is particularly useful for matching path names that contain "/", to avoid LTS (leaning toothpick syndrome). If "?" is the delimiter, then the match-only-once rule of C<?PATTERN?> applies. If "'" is the delimiter, no interpolation is performed on the PATTERN. +When using a character valid in an identifier, whitespace is required +after the C<m>. PATTERN may contain variables, which will be interpolated (and the pattern recompiled) every time the pattern search is evaluated, except @@ -1366,13 +1368,13 @@ specific options: e Evaluate the right side as an expression. ee Evaluate the right side as a string then eval the result -Any non-alphanumeric, non-whitespace delimiter may replace the -slashes. If single quotes are used, no interpretation is done on the -replacement string (the C</e> modifier overrides this, however). Unlike -Perl 4, Perl 5 treats backticks as normal delimiters; the replacement -text is not evaluated as a command. If the -PATTERN is delimited by bracketing quotes, the REPLACEMENT has its own -pair of quotes, which may or may not be bracketing quotes, e.g., +Any non-whitespace delimiter may replace the slashes. Add space after +the C<s> when using a character allowed in identifiers. If single quotes +are used, no interpretation is done on the replacement string (the C</e> +modifier overrides this, however). Unlike Perl 4, Perl 5 treats backticks +as normal delimiters; the replacement text is not evaluated as a command. +If the PATTERN is delimited by bracketing quotes, the REPLACEMENT has +its own pair of quotes, which may or may not be bracketing quotes, e.g., C<s(foo)(bar)> or C<< s<foo>/bar/ >>. A C</e> will cause the replacement portion to be treated as a full-fledged Perl expression and evaluated right then and there. It is, however, syntax checked at |