Node:A Digression---The print Function, Next:, Previous:Single-quoted Strings, Up:Strings



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 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 print function.

The 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.