In English, as in many other spoken languages, you’re used to
distinguishing between singular and plural. As a computer language
designed by a human linguist, Perl is similar. As a general rule, when
Perl has just one of something, that’s a scalar. A scalar is the simplest kind of data
that Perl manipulates. Most scalars are either a number (like 255 or
3.25e20) or a string of characters (like
hello or the Gettysburg Address). Although you may think of
numbers and strings as very different things, Perl uses them nearly
You can act on a scalar value with operators (like addition or concatenation), generally yielding a scalar result. You can store a scalar value in a scalar variable. You can read scalars from files and devices, and write to them as well.
Although a scalar is most often either a number or a string, it’s useful to look at numbers and strings separately for the moment. We’ll cover numbers first, and then move on to strings.
As you’ll see in the next few paragraphs, you can specify both integers (whole numbers, like 255 or 2,001) and floating-point numbers (real numbers with decimal points, like 3.14159, or 1.35 × 1,025). But internally, Perl computes with double-precision floating-point values. This means that there are no integer values internal to Perl—an integer constant in the program is treated as the equivalent floating-point value. You probably won’t notice the ...