2.1.2 A Digression--The print Function
Before we move on to our consideration of double-quoted strings, it is
necessary to first consider a small digression. We know how to
represent strings in Perl, but, as you may have noticed, the examples we
have given thus far do not do anything interesting. If you try placing
the statements that we listed as examples in 2.1.1 Single-quoted Strings, into a full Perl program, like this:
#!/usr/bin/perl
use strict;
use warnings;
'Three \\\'s: "\\\\\"'; # There are three \ chars between ""
'xxx\'xxx'; # xxx, a single-quote character, and then xxx
'Time to
start anew.';
you probably noticed that nothing of interest happens. Perl
gladly runs this program, but it produces no output.
Thus, to begin to work with strings in Perl beyond simple hypothetical
considerations, we need a way to have Perl display our strings for us.
The canonical way of accomplishing this in Perl is to use the
@builtin{print} function.
The @builtin{print} function in Perl can be used in a variety of ways.
The simplest form is to use the statement print STRING;
, where
STRING
is any valid Perl string.
So, to reconsider our examples, instead of simply listing the strings,
we could instead print each one out:
#!/usr/bin/perl
use strict;
use warnings;
print 'Three \\\'s: "\\\\\"'; # Print first string
print 'xxx\'xxx'; # Print the second
print 'Time to
start anew.
'; # Print last string, with a newline at the end
This program will produce output. When run, the output goes to what is
called the standard output. This is usually the terminal, console
or window in which you run the Perl program. In the case of the program
above, the output to the standard output is as follows:
Three \'s: "\\\"xxx'xxxTime to
start anew.
Note that a newline is required to break up the lines. Thus, you need
to put a newline at the end of every valid string if you want your
string to be the last thing on that line in the output.
Note that it is particularly important to put a newline on the end of
the last string of your output. If you do not, often times, the command
prompt for the command interpreter that you are using may run together
with your last line of output, and this can be very disorienting. So,
always remember to place a newline at the end of each line,
particularly on your last line of output.
Finally, you may have noticed that formatting your code with newlines in
the middle of single-quoted strings hurts readability. Since you are
inside a single-quoted string, you cannot change the format of the
continued lines within the print statement, nor put comments at the ends
of those lines because that would insert data into your single-quoted
strings. To handle newlines more elegantly, you should use
double-quoted strings, which are the topic of the next section.