PATCH: [perl #129277] perlrecharclass: Clarify q// handling
authorKarl Williamson <khw@cpan.org>
Fri, 16 Sep 2016 03:52:44 +0000 (21:52 -0600)
committerKarl Williamson <khw@cpan.org>
Wed, 26 Oct 2016 17:57:22 +0000 (11:57 -0600)
See https://rt.perl.org/Ticket/Display.html?id=129277

pod/perlrecharclass.pod

index 89f4a7e..93bb2e5 100644 (file)
@@ -512,7 +512,14 @@ is, characters that carry a special meaning like C<.>, C<*>, or C<(>) lose
 their special meaning and can be used inside a character class without
 the need to escape them. For instance, C<[()]> matches either an opening
 parenthesis, or a closing parenthesis, and the parens inside the character
-class don't group or capture.
+class don't group or capture.  Be aware that, unless the pattern is
+evaluated in single-quotish context, variable interpolation will take
+place before the bracketed class is parsed:
+
+ $, = "\t| ";
+ $a =~ m'[$,]';        # single-quotish: matches '$' or ','
+ $a =~ q{[$,]}'        # same
+ $a =~ m/[$,]/;        # double-quotish: matches "\t", "|", or " "
 
 Characters that may carry a special meaning inside a character class are:
 C<\>, C<^>, C<->, C<[> and C<]>, and are discussed below. They can be