等同於 print FILEHANDLE sprintf(FORMAT, LIST)
,但不會附加 $\
(輸出記錄分隔符號)。FORMAT 和 LIST 實際上會解析為單一清單。清單的第一個引數會詮釋為 printf
格式。這表示 printf(@_)
會使用 $_[0]
作為格式。請參閱 sprintf 以了解格式引數的說明。如果 use locale
(包含 use locale ':not_characters'
)生效,且已呼叫 POSIX::setlocale
,則格式化浮點數中用於小數分隔符號的字元會受到 LC_NUMERIC
區域設定影響。請參閱 perllocale 和 POSIX。
基於歷史原因,如果您省略清單,則會使用 $_
作為格式;若要在沒有清單的情況下使用 FILEHANDLE,您必須使用裸字檔案句柄,例如 FH
,而不是間接檔案句柄,例如 $fh
。然而,這很少會達到您的目的;如果 $_
包含格式化程式碼,則會以空白字串取代這些程式碼,且如果啟用 警告,則會發出警告。如果您想要列印 $_
的內容,請使用 print
。