A list is an ordered group of scalar values. A literal list can be composed as a comma-separated list of values contained in parentheses, for example:

(1,2,3)                  # Array of three values 1, 2, and 3
("one","two","three")    # Array of three values "one", "two", and "three"

The generic form of list creation uses the quoting operator qw// to contain a list of values separated by whitespace:

qw/snap crackle pop/

With the quoting operators, you’re not limited to // when you use one of the operators. You can use just about any character you want. The following is exactly the same as the example above:

qw!snap crackle pop!

It’s important that you remember not to use any delimiters except whitespace with qw//. If you do, these delimiters will be handled as list members:

@foods = qw/fish, beef, lettuce, cat, apple/; # EL WRONG-O!
foreach (@foods) {
    print $_; # Prints fish and then a literal comma, etc.

Get Perl in a Nutshell, 2nd 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.