String Literals
String literals are usually surrounded by either single or
double quotes. They work much like Unix shell quotes: double-quoted
string literals are subject to backslash and variable interpolation,
but single-quoted strings are not (except for \' and \\ so that you can embed single quotes and
backslashes into single-quoted strings). If you want to embed any
other backslash sequences such as \n (newline), you must use the
double-quoted form. (Backslash sequences are also known as escape
sequences, because you “escape” the normal
interpretation of characters temporarily.)
A single-quoted string must be separated from a preceding word
by a space because a single quote is a valid—though
archaic—character in an identifier. Its use has been replaced by the
more visually distinct ::
sequence. That means that $main'var and $main::var are the same thing, but the
second is generally considered easier to read for people and
programs.
Double-quoted strings are subject to various forms of character interpolation, as listed in Table 2-5. Many of these will be familiar to programmers of other languages.
Table 2-5. Backslashed character escapes
| Code | Meaning |
|---|---|
\n
| Newline (usually LF) |
\r
| Carriage return (usually CR) |
\t
| Horizontal tab |
\f
| Form feed |
\b
| Backspace |
\a
| Alert (bell) |
\e
| ESC character |
\033
| ESC in octal |
\o{33}
| Also ESC in octal |
\x7f
| DEL in hexadecimal |
\x{263a}
| Character number 0x263A |
\N{LATIN SMALL LETTER E WITH
ACUTE}
| The named character latin small letter e with acute, “é”, which is ... |
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access