printf

Equivalent to printFILEHANDLEsprintf(FORMAT,LIST)
, except that
$\ (the output record separator) is not appended. The
FORMAT and the LIST are actually parsed as a single list. The first
argument of the list will be interpreted as the
printf format. This means that
printf(@_) will use $_[0]
as the format. See
sprintf for an explanation of the format
argument. If uselocale
(including uselocale':not_characters'
)
is in effect and POSIX::setlocale has been
called, the character used for the decimal separator in formatted
floating-point numbers is affected by the LC_NUMERIC
locale setting.
See perllocale and POSIX.

For historical reasons, if you omit the list, $_ is
used as the format;
to use FILEHANDLE without a list, you must use a bareword filehandle like
FH
, not an indirect one like $fh
. However, this will rarely do what
you want; if $_ contains formatting codes, they will be
replaced with the empty string and a warning will be emitted if
warnings are enabled. Just use print if
you want to print the contents of $_ .

Don't fall into the trap of using a
printf when a simple
print would do. The
print is more efficient and less error
prone.