Customary Generic Meaning Interpolates
'' q{} Literal no
"" qq{} Literal yes
- `` qx{} Command yes (unless '' is delimiter)
+ `` qx{} Command yes*
qw{} Word list no
- // m{} Pattern match yes (unless '' is delimiter)
- qr{} Pattern yes (unless '' is delimiter)
- s{}{} Substitution yes (unless '' is delimiter)
+ // m{} Pattern match yes*
+ qr{} Pattern yes*
+ s{}{} Substitution yes*
tr{}{} Transliteration no (but see below)
+ * unless the delimiter is ''.
+
Non-bracketing delimiters use the same character fore and aft, but the four
sorts of brackets (round, angle, square, curly) will all nest, which means
that
C<"\015">. If you get in the habit of using C<"\n"> for networking,
you may be burned some day.
+Subscripted variables such as C<$a[3]> or C<$href->{key}[0]> are also
+interpolated, as are array and hash slices. But method calls
+such as C<$obj->meth> are not interpolated.
+
+Interpolating an array or slice interpolates the elements in order,
+separated by the value of C<$">, so is equivalent to interpolating
+C<join $", @array>. "Punctuation" arrays such C<@+> are not
+interpolated.
+
You cannot include a literal C<$> or C<@> within a C<\Q> sequence.
An unescaped C<$> or C<@> interpolates the corresponding variable,
while escaping will cause the literal string C<\$> to be inserted.