Chapter 9. Context

Perl expressions are always evaluated in a context that determines the outcome of the evaluation.


A special form of scalar context in which it only matters if the result is true or false. Anything that is undefined or evaluates to an empty string, the number zero, or the string "0" is considered false; everything else is true (including strings like "00").


A list value is expected. Acceptable values are literal lists, arrays, and hashes. Slices of arrays, hashes, and lists are also acceptable. A scalar value will be interpreted as a one-argument list.


A single scalar value is expected.


No value is expected. If a value is provided, it is discarded.

The following functions relate to context:

scalar expr

Forces scalar context for the expression.


Returns true in list context, false in scalar context, and undef in void context.

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.