Chapter 2. All About Arrays
Arrays are one of Perl’s three primary data types (the other two are scalars and hashes). This article will help you understand everything that can be done with them.
All array variables begin with an @ sign. They hold a list of scalar values (such as a string or number) whose positions are numbered beginning from 0. So in this code,
blue is in position number 2 of the
@colors array, and
42 is in position 3 of the
@colors = ("red", "green", "blue")
@data = ("Perl", 2_000_000, "Wall", 42);
At this early point it’s good to start distinguishing lists from arrays. Perl gurus try to be precise about this distinction when they talk about their code: both are sequences of scalars, but while arrays are true stored variables, lists are merely temporary sequences of values. Subroutines accept lists, and can return them; as you pass an array into a subroutine, it becomes a list of values. Likewise, when a subroutine returns a list, you can store it in an array.
You store a list inside an array variable if you want to access the list’s values later. Subroutines and functions don’t, strictly speaking, accept arrays, except for a few special functions that we’ll see later. Where Perl expects a bunch of values to work on, those values can come from a list, whether it’s hardcoded in the program, returned by a function, or extracted from an array.
Inside double-quoted strings, arrays interpolate (expand) into their values, separated by ...