Prints a string or a list of strings. Returns true if successful.
FILEHANDLE may be a scalar variable containing the name of or a reference
to the filehandle, thus introducing one level of indirection. (NOTE: If
FILEHANDLE is a variable and the next token is a term, it may be
misinterpreted as an operator unless you interpose a
parentheses around the arguments.) If FILEHANDLE is omitted, prints to the
last selected (see select) output handle. If LIST is omitted, prints
to the currently selected output handle. To use FILEHANDLE alone to
print the content of
to it, you must use a real filehandle like
, not an indirect one like
. To set the default output handle
to something other than STDOUT, use the select operation.
The current value of
(if any) is printed between each LIST item. The
current value of
(if any) is printed after the entire LIST has been
printed. Because print takes a LIST, anything in the LIST is evaluated in
list context, including any subroutines whose return lists you pass to
, but that doesn't look as good).
If you're storing handles in an array or hash, or in general whenever you're using any expression more complex than a bareword handle or a plain, unsubscripted scalar variable to retrieve it, you will have to use a block returning the filehandle value instead, in which case the LIST may not be omitted:
Printing to a closed pipe or socket will generate a SIGPIPE signal. See perlipc for more on signal handling.