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