diff options
author | Karl Williamson <khw@khw-desktop.(none)> | 2010-07-18 13:12:39 -0600 |
---|---|---|
committer | David Golden <dagolden@cpan.org> | 2010-07-19 01:04:59 -0400 |
commit | e1f120a9bcedababe219d448b4b0cb0b1153e992 (patch) | |
tree | 277d8935fce639a5c65becbe4b692db976540987 /pod | |
parent | 388a738468888624b9ee18ce319fa7082b2df529 (diff) | |
download | perl-e1f120a9bcedababe219d448b4b0cb0b1153e992.tar.gz |
pods: mention \o{}, 3 octal digits
This patch adds a mention of \o{} to perlre to avoid the backreference
ambiguities, and uses 3 octal digits in an example, and suggests using 3
digits where 2 were suggested before.
Signed-off-by: David Golden <dagolden@cpan.org>
Diffstat (limited to 'pod')
-rw-r--r-- | pod/perldiag.pod | 4 | ||||
-rw-r--r-- | pod/perlfunc.pod | 2 | ||||
-rw-r--r-- | pod/perlre.pod | 11 |
3 files changed, 9 insertions, 8 deletions
diff --git a/pod/perldiag.pod b/pod/perldiag.pod index 9f9fe4b553..91664571b2 100644 --- a/pod/perldiag.pod +++ b/pod/perldiag.pod @@ -3799,8 +3799,8 @@ backreferences), but using 0 does not make sense. (F) You used something like C<\7> in your regular expression, but there are not at least seven sets of capturing parentheses in the expression. If you -wanted to have the character with value 7 inserted into the regular expression, -prepend a zero to make the number at least two digits: C<\07> +wanted to have the character with ordinal 7 inserted into the regular expression, +prepend zeroes to make it three digits long: C<\007> The <-- HERE shows in the regular expression about where the problem was discovered. diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod index b6ded9b9be..42095a0a25 100644 --- a/pod/perlfunc.pod +++ b/pod/perlfunc.pod @@ -3943,7 +3943,7 @@ the I<length-item> is the string length, not the number of strings. With an explicit repeat count for pack, the packed string is adjusted to that length. For example: - unpack("W/a", "\04Gurusamy") gives ("Guru") + unpack("W/a", "\004Gurusamy") gives ("Guru") unpack("a3/A A*", "007 Bond J ") gives (" Bond", "J") unpack("a3 x2 /A A*", "007: Bond, J.") gives ("Bond, J", ".") diff --git a/pod/perlre.pod b/pod/perlre.pod index 2e00f0bc69..98aafdd184 100644 --- a/pod/perlre.pod +++ b/pod/perlre.pod @@ -450,11 +450,12 @@ capture group, or the character whose ordinal in octal is 010 (a backspace in ASCII). Perl resolves this ambiguity by interpreting C<\10> as a backreference only if at least 10 left parentheses have opened before it. Likewise C<\11> is a backreference only if at least 11 left parentheses have opened before it. -And so on. C<\1> through C<\9> are always interpreted as backreferences. You -can minimize the ambiguity by always using C<\g> if you mean capturing groups; -and always using 3 digits for octal constants, with the first always "0" (which -works if there are 63 (= \077) or fewer capture groups). There are several -examples below that illustrate these perils. +And so on. C<\1> through C<\9> are always interpreted as backreferences. +There are several examples below that illustrate these perils. You can avoid +the ambiguity by always using C<\g{}> or C<\g> if you mean capturing groups; +and for octal constants always using C<\o{}>, or for C<\077> and below, using 3 +digits padded with leading zeros, since a leading zero implies an octal +constant. The C<\I<digit>> notation also works in certain circumstances outside the pattern. See L</Warning on \1 Instead of $1> below for details.) |