列印字串或字串清單。如果成功則傳回 true。FILEHANDLE 可能是一個純量變數,包含檔案代號的名稱或參考,因此引入了間接層級。(注意:如果 FILEHANDLE 是變數,而下一個標記是術語,則可能會被誤認為是運算子,除非您插入 +
或在參數周圍加上括號。)如果省略 FILEHANDLE,則會列印到最後選取的 (請參閱 select
) 輸出代號。如果省略 LIST,則會將 $_
列印到目前選取的輸出代號。若要單獨使用 FILEHANDLE 將 $_
的內容列印到其中,您必須使用裸字檔案代號,例如 FH
,而不是間接的檔案代號,例如 $fh
。若要將預設輸出代號設定為 STDOUT 以外的其他代號,請使用 select 操作。
列印每個 LIST 項目之間的 $,
(如果有)的目前值。列印整個 LIST 之後,列印 $\
(如果有)的目前值。由於 print 會採用 LIST,因此 LIST 中的任何內容都會在 list context 中評估,包括您傳遞給 print
的任何子常式的回傳清單。小心不要在 print 關鍵字後面加上左括號,除非您要讓對應的右括號終止 print 的參數;請在所有參數周圍加上括號(或插入一個 +
,但看起來不太好)。
如果您將控制代碼儲存在陣列或雜湊中,或一般而言,只要您使用比單字控制代碼或純粹、未標示的純量變數更複雜的任何表達式來擷取它,您就必須改用回傳檔案控制代碼值的區塊,在這種情況下,LIST 不能省略
print { $files[$i] } "stuff\n";
print { $OK ? *STDOUT : *STDERR } "stuff\n";
列印到已關閉的管線或 socket 會產生 SIGPIPE 訊號。請參閱 perlipc 以進一步瞭解訊號處理。