我知道print
,printf
,die
,warn
,say
具有不同的功能,但所有打印到控制檯。我正在開發一個項目,將日誌框架集成到Perl中,所以我需要知道所有將輸出輸出到控制檯的函數,而不管它們的功能如何。在Perl中將輸出寫入控制檯有哪些不同的方法?
2
A
回答
3
「控制檯」是一個稍微複雜的概念。實際上有兩個文件句柄,默認情況下連接到控制檯。 STDOUT是寫入標準輸出的地方,STDERR是寫入錯誤和警告的地方。
然後,當然,這些文件句柄可能根本不會附加到控制檯。大多數操作系統都支持I/O重定向。 STDOUT可能會附加到一個文件,STDERR附加到另一個文件。
許多這些功能允許您更改他們寫入的文件句柄。例如print()
接受一個可選的第一個參數,它是一個文件句柄。
然後有select
它可以用來更改print()
等函數使用的默認文件句柄。
在perldoc perlfunc中,您可以找到「輸入和輸出功能」列表。通過該列表來提取產生輸出的列表非常簡單。
die
- 寫入STDERRwarn
- 寫入STDERRprint
- 寫到標準輸出printf
- 寫到標準輸出say
- 寫到標準輸出syswrite
- 寫入指定的文件句柄write
- 寫入STDOUT
當然,還有其他任何模塊可以包含寫入各種文件句柄的新功能。例如,Carp定義了功能carp()
,croak()
,cluck()
和confess()
- 所有功能都寫入STDERR。
相關問題
- 1. 創建將寫入文件或寫入控制檯輸出的通用方法
- 2. Perl - 控制檯輸出?
- 3. 寫作控制檯輸出
- 4. 同步寫入控制檯
- 5. 從java中將控制檯輸出寫入文本文件
- 6. 如何從定製MSBuild任務將輸出寫入控制檯?
- 7. nuget包管理器控制檯有哪些不同的命令?
- 8. 捕獲未寫入標準輸出stderr的控制檯輸出?
- 9. 你在哪裏輸入代碼塊中的控制檯輸入?
- 10. 將控制檯的輸出寫入C#文件?
- 11. Logback無法在控制檯中寫入
- 12. 將JSON寫入控制檯
- 13. 將Ruby控制檯輸出寫入文本文件
- 14. 如何將快速彩色輸出寫入控制檯?
- 15. Linux將控制檯輸出寫入文件
- 16. Screeps:將調試輸出寫入控制檯?
- 17. 在控制檯python中沒有輸出
- 18. 在控制檯中輸入輸入
- 19. 無法在文本文件中編寫控制檯輸出
- 20. 不通過標準輸出寫入控制檯窗口
- 21. 如何將cmd.exe輸出同時寫入控制檯和剪貼板?
- 22. 在寫入文件後無法在控制檯中寫入
- 23. myeclipse控制檯輸出從哪裏來?
- 24. 的Perl類::無法寫入輸出
- 25. Xcode 6.1控制檯輸入/輸出
- 26. 捕捉控制檯輸入輸出
- 27. 基本控制檯輸入和輸出
- 28. 將客戶機的控制檯輸出寫入服務器中的文件
- 29. 如何在GUI中顯示Perl控制檯輸出?
- 30. Backbone.View測試輸出不同控制檯輸出
Thanks @mob。很高興知道有人在照顧我愚蠢的錯別字: -/ –
還有'send'寫入指定的套接字。 (內心深處,只是另一個句柄)。 – Abigail