print - output a list to a filehandle
print FILEHANDLE LIST
print LIST
Prints a string or a comma-separated list of strings. Returns
TRUE if successful.
FILEHANDLE may be a scalar variable name, in which case the variable contains 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
+
or put parentheses around the arguments.) If
FILEHANDLE is omitted, prints by default to standard
output (or to the last selected output channel--see select). If
LIST is also omitted, prints $_
to the currently selected output channel. To set the default output channel to something other than
STDOUT use the select operation. Note that, because print takes a
LIST, anything in the
LIST is evaluated in list context, and any subroutine that you call will have one or more of its expressions evaluated in list context. Also be careful not to follow the print keyword with a left parenthesis unless you want the corresponding right parenthesis to terminate the arguments to the print--interpose a
+
or put parentheses around all the arguments.
Note that if you're storing FILEHANDLES in an array or other expression, you will have to use a block returning its value instead:
print { $files[$i] } "stuff\n"; print { $OK ? STDOUT : STDERR } "stuff\n";
If rather than formatting bugs, you encounter substantive content errors in these documents, such as mistakes in the explanations or code, please use the perlbug utility included with the Perl distribution.