perlutil - 與 Perl 發行版一起打包的實用工具
除了 Perl 解釋器本身外,Perl 發行版還會在您的系統上安裝一系列實用工具。還有一些實用工具是 Perl 發行版本身在安裝過程中使用的一部分。本文旨在列出所有這些實用工具,解釋它們的用途,並提供到每個模塊文檔的指針(如果適用)。
Perl 文檔的主要界面是 perldoc,但如果您正在閱讀此文檔,很可能您已經找到它了。 perldoc 將從當前目錄中的任何文件、系統上安裝的任何 Perl 模塊,或任何標準文檔頁面(如本頁)中提取並格式化文檔。使用 perldoc <name>
來獲取本文檔中描述的任何實用工具的信息。
如果從終端運行,perldoc 通常會調用 pod2man 將 POD(Plain Old Documentation - 參見 perlpod 進行解釋)轉換為 man 頁面,然後運行 man 來顯示它;如果 man 不可用,則會使用 pod2text,並將輸出通過您喜歡的分頁器進行輸出。
除了這兩個之外,還有另一個轉換器:pod2html會從POD生成HTML頁面。
如果您只想知道如何使用此處描述的實用程序,pod2usage將只提取“USAGE”部分;某些實用程序在使用-help
時將自動調用pod2usage。
如果您正在POD中撰寫自己的文檔,podchecker實用程序將尋找標記中的錯誤。
splain是perldiag的接口 - 將您的錯誤消息粘貼到其中,它將為您解釋。
roffitall實用程序未安裝在您的系統上,但位於您的Perl源代碼套件的pod/目錄中;它將從分發的所有文檔轉換為*roff格式,並生成整個批次的排版PostScript或文本文件。
運行libnetcfg命令以顯示和更改libnet配置。
perlivp程序在Perl源代碼構建時設置為測試它所建立的Perl版本。在運行make install
(或您平台的等效程序)後,可以使用它來驗證perl及其庫是否已正確安裝。
有一組工具可幫助您開發Perl程序,特別是通過C擴展Perl。
perlbug曾是向perl解釋器本身或任何標准庫模塊報告錯誤的建議方法;現在應將錯誤報告和補丁提交到https://github.com/Perl/perl5/issues。
此程序提供了一種向perl的作者和維護者發送感謝消息的簡便方法。這只是將perlbug安裝在另一個名稱下。
在 Perl 還沒有 XS 系統用於與 C 函式庫連接之前,程式設計師通常通過閱讀 C 標頭文件來獲取庫常數。您可能仍然會看到類似 require 'syscall.ph'
的代碼片段 - .ph 文件應該是通過對應的 .h 文件運行 h2ph 創建的。有關如何一次轉換一堆標頭文件的更多信息,請參閱h2ph文檔。
h2xs 將 C 標頭文件轉換為 XS 模塊,並試圖在 C 函式庫和 Perl 模塊之間寫入盡可能多的黏合代碼。它還非常適用於創建純 Perl 模塊的骨架。
enc2xs 從 Unicode 字符映射文件(.ucm)或 Tcl 編碼文件(.enc)構建 Perl 擴展,供 Encode 使用。除了在 Encode 模塊的構建過程中內部使用外,您還可以使用 enc2xs 將自己的編碼添加到 Perl 中。不需要了解 XS。
xsubpp 是一個將 Perl XS 代碼轉換為 C 代碼的編譯器。它通常由由 ExtUtils::MakeMaker 創建的 makefile 執行。
xsubpp 將通過嵌入必要的結構來使 C 函式操作 Perl 值,並創建必要的黏合代碼來讓 Perl 訪問這些函式。
prove 是 Test::Harness 的測試運行功能的命令行界面。它是 make test
的一個替代方案。
Module::CoreList 的命令行前端,用於查詢給定版本的 perl 隨附了哪些模塊。
perl 附帶了一些通用工具,主要是因為它們隨著 perl 發行版附帶的模塊一起提供。
encguess 將嘗試猜測文件的字符編碼。
json_pp 是一個純 Perl 的 JSON 轉換器和格式化程序。
piconv是Perl版本的iconv(1),這是一個廣泛用於今日各種Unix系統的字符編碼轉換器。這個腳本主要是Perl v5.8.0的技術演示器,但您可以在幾乎任何情況下使用piconv代替iconv。
ptar是一個純Perl編寫的類似tar的程序。
ptardiff是一個小型實用程序,用於在提取的存檔和未提取的存檔之間生成差異。(請注意,此實用程序需要Text::Diff模塊才能正常運行;此模塊未與perl一起分發,但可以從CPAN獲得。)
ptargrep是一個將模式匹配應用於tar存檔中文件內容的實用程序。
這個實用程序隨Digest::SHA模塊一起提供,用於打印或驗證SHA校驗和。
streamzip將流到標準輸入的數據壓縮到流式zip容器中。
zipdetails顯示zip文件的內部記錄結構信息。它不關心顯示zip文件中存儲的壓縮數據的任何詳細信息。
這些實用程序有助於管理不隨perl分發的額外Perl模塊。
cpan是CPAN.pm的命令行界面。它允許您從CPAN安裝模塊或分發,或只是獲取有關它們的信息,以及更多。它類似於CPAN模塊的命令行模式。
perl -MCPAN -e shell
一個小界面到ExtUtils::Installed,用於檢查已安裝的模塊,驗證您的packlists,甚至從已安裝的模塊創建tarball。
perldoc, pod2man, pod2text, pod2html, pod2usage, podchecker, splain, pl2pm, perlbug, h2ph, h2xs, enc2xs, xsubpp, cpan, encguess, instmodsh, json_pp, piconv, prove, corelist, ptar, ptardiff, shasum, streamzip, zipdetails