Quotes and Interpolation

Perl uses customary quotes to construct strings and such, but also implements a generic quoting mechanism. For example, the string 'Hello!' can be written as q/Hello!/, q;Hello!;, q{Hello!}, and so on.

Customary

Generic

Meaning

Inter.

Page

′′

q//

Literal string

No

7

″″

qq//

Literal string

Yes

7

``

qx//

Command execution

Yes

7

()

qw//

Word list

No

8

″″

qr//

Regular expression

Yes

37

//

m//

Pattern match

Yes

43

s///

s///

Pattern substitution

Yes

44

y///

tr///

Character translation

No

44

When the quoting mechanism involves delimiters, you can use pairs of grouping characters, e.g., m< . . . > and s{ ... }[ ... ].

The “Inter.” column of the table on the preceding page indicates whether string escape sequences are interpolated. If single quotes are used as delimiters for pattern matching or substitution, no interpolation takes place.

String escape sequences:

\a

Alarm (bell).

\b

Backspace.

\e

Escape.

\f

Formfeed.

\n

Newline.

\r

Return.

\t

Tab.

Combining prefixes construct characters, for example:

\53

Interpreted as octal, the character +. Octal escapes take up to three octal digits, including leading zeros. The resulting value must not exceed 377 octal. In patterns, which are like qq// strings, leading zeros are mandatory in octal escapes to avoid interpretation as a back-reference unless the value exceeds the number of captures or 9, whichever is lower. Note that if it’s a back-reference, the value is interpreted as decimal, not as octal.

\cC

Interpreted as a control character: Control-C.

\N{BLACK SPADE SUIT} ...

Get Perl Pocket Reference, 5th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.