Chapter 7. Literal Values

Scalar Values

Array reference


Code reference

sub { statements }

Hash reference

{key1 => val1, key2 => val2, . . . }

Equivalent to {key1, val1, key2, val2, . . . } .


123 1_234 123.4 5E-10 0b010101 (binary) 0xff (hex) 0377 (octal)

__LINE__ (line number in the current program)

Regular Expression

qr /string/modifiers

See the section Chapter 22.


Literal string, no variable interpolation or escape characters, except \' and \\.


A string in which variables are interpolated and escape sequences are processed.


Evaluates to the output of the command.


A value that is mostly equivalent to "Class".

1.2.3 v5.6.0.1

A string (“v-string”) composed of the specified ordinals. The ordinal values may be in the Unicode range. v1.3 is equivalent to "\x{1}\x{3}". Suitable to be compared to other v-strings using string compare operators.


Shell-style “here document.”


The name of the program file.


The name of the current package.

List Values


(1,2,3) is a list of three elements.

(1,2,3)[0] is the first element from this list.

(1,2,3)[-1] is the last element.

( ) is an empty list.

(1..4) is the same as (1,2,3,4); likewise ('a'..'z').

('a'..'z')[4,7,9] is a slice of a literal list.


qw/fo br . . . / is the same as ('fo','br', . . . ).

< . . . >

<pattern> evaluates to all filenames according to the C-shell wildcard pattern. Use <${var}> or glob $var to glob from a variable.

Hash Values


(key1 => val1, key2 => val2, . . .)

Equivalent ...

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

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.