Literal Values

Scalar Values

Array reference

[1,2,3]

Code reference

sub { statements }

Hash reference

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

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

Numeric

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

String
'abc'

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

"abc"

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

`command`

Evaluates to the output of the command.

Class::

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.

<<identifier

Shell-style “here document.”

__FILE__

The name of the program file.

__PACKAGE__

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

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

Hash Values

(. . .)

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

Equivalent to (key1, val1, key2, val2, . . . ).

Filehandles

Predefined filehandles

STDIN, STDOUT, STDERR, ARGV, DATA.

User-specified filehandles

Any name (identifier without sigil) ...

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.