We've already used
to display text on standard output. Let's expand on that a bit.
function takes a list of strings and sends each string to standard output in turn, without any intervening or trailing characters added. What might not be obvious is that
is really just a function that takes a list of arguments, and returns a value like any other function. In other words,
$a = print("hello ", "world", "\n");
would be another way to say
return value of
is a true or false value, indicating the success of the
. It nearly always succeeds, unless you get some I/O error, so
in this case would usually be 1.
Sometimes you'll need to add
as shown in the example, especially when the first thing you want to print itself starts with a left parenthesis, as in:
print (2+3),"hello"; # wrong! prints 5, ignores "hello"
print ((2+3),"hello"); # right, prints 5hello
print 2+3,"hello"; # also right, prints 5hello
You may wish a little more control over your output than
provides. In fact, you may be accustomed to the
formatted output of C's
function. Fear not: Perl provides a comparable operation with the same name.
function takes a list of arguments (enclosed in optional parentheses, like the
function). The first argument is a format control string, defining how to print the remaining arguments. If you're not familiar with the standard
function, you should probably check out the manpage for
(1), if you have one, or look at the description in
As an example, however
printf "%15s %5d %10.2f\n", $s, $n, $r;
in a 15-character field, then space, then
as a decimal integer in a 5-character field, then another space, then
as a floating-point value with 2 decimal places in a 10-character field, and finally a newline.