- printf FILEHANDLE FORMAT, LIST
 - printf FILEHANDLE
 - printf FORMAT, LIST
 - printf
 - 
Equivalent to
print FILEHANDLE sprintf(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 thatprintf(@_)will use$_[0]as the format. See sprintf for an explanation of the format argument. Ifuse locale(includinguse locale ':not_characters') is in effect andPOSIX::setlocalehas been called, the character used for the decimal separator in formatted floating-point numbers is affected by theLC_NUMERIClocale setting. See perllocale and POSIX.$\(出力レコードセパレータ)を追加しないことを除けば、print FILEHANDLE sprintf(FORMAT, LIST)と等価です。 FORMAT と LIST は実際には単一のリストとしてパースされます。 リストの最初の要素は、printf フォーマットと解釈されます。 これは、printf(@_)はフォーマットとして$_[0]を使うということです。 フォーマット引数の説明については sprintf を 参照してください。 (use locale ':not_characters'を含む)use localeが有効で、POSIX::setlocaleが呼び出されていれば、 小数点に使われる文字はLC_NUMERICロケール設定の影響を受けます。 perllocale と 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 likeFH, 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$_.歴史的な理由により、リストを省略すると、フォーマットとして
$_が使われます; リストなしで FILEHANDLE を使用するには、$fhのような 間接ファイルハンドルではなく、FHのような裸の単語の ファイルハンドルを使わなければなりません。 しかし、これがあなたが求めていることをすることはまれです;$_がフォーマッティングコードの場合、空文字列に置き換えられ、 warnings が有効なら警告が出力されます。$_の内容を表示したい場合は、単に print を使ってください。Don't fall into the trap of using a
printfwhen a simple print would do. The print is more efficient and less error prone.単純な print を使うべきところで
printfを使ってしまう 罠にかからないようにしてください。 print はより効率的で、間違いが起こりにくいです。