Perl 程式設計/CPAN
一個龐大的免費 Perl 模組集合,涵蓋從高階數學到資料庫連線、網路等,可以從稱為 CPAN 的站點網路下載。CPAN 上的大多數或全部軟體也都是根據 Artistic License、GPL 或兩者釋出的。CPAN.pm 也是 Perl 模組的名稱,它從 CPAN 映象站點之一下載並安裝其他 Perl 模組;這些安裝可以透過互動式提示完成,也可以完全自動化。
從命令列輸入命令
ppm
這將為您提供一個“Perl 包管理器”提示,允許您從網際網路下載和安裝模組。例如,要安裝 Time::HiRes 模組,請輸入
search time::hires
這將顯示與您的搜尋查詢匹配的模組列表。一旦您知道模組可用且確切名稱是什麼,就可以使用以下命令安裝該模組
install Time::HiRes
如果您使用的是普通版本的 Perl,啟用包管理器的常用方法是
perl -MCPAN -e shell;
這將載入 CPAN 模組,並允許您搜尋、下載、安裝和管理計算機上的模組,與 PPM 相同。
Perl 模組 cpanm (CPAN Minus) 是另一個從 CPAN 庫安裝模組的替代方法 cpanminus.pm.
cpanm可以在類 Unix 系統上像這樣安裝和使用
curl -L "http://cpanmin.us" >cpanm chmod +x cpanm ./cpanm LWP::Bundle
必須具有 root 許可權才能在系統範圍的目錄中安裝模組,但是存在替代方法,例如 local::lib,它允許普通使用者在其主資料夾中安裝和使用 Perl 模組 lib.pm.
Strawberry Perl 也包含 CPAN 模組,因此您可以使用上面的命令啟用包管理器。
但是,開始選單中還包含一個快捷方式(名為"CPAN 客戶端"),因此您不必進入命令列即可執行此操作。
Strawberry Perl 中包含了許多模組,超出了普通版本的 Perl 或 ActivePerl 中提供的模組,因此您可能希望檢查一下,看看您想要的模組是否已安裝,然後再啟動 CPAN 客戶端。
要將模組合併到您的程式中,請使用use關鍵字
use Time::HiRes;
如果您擔心模組中的一些函式名與您正在使用的函式名太相似,可以提供一個可選列表,列出您要使用該模組中的函式
use Time::Hires qw(time gmtime);
完成此操作後,您可以像往常一樣使用提供的函式。大多數模組在其文件中都有示例程式,使用模組的最佳方法是複製和修改其中一個示例程式。
每個模組的文件都會在您獲得新模組時安裝到您的文件目錄中,或者您也可以在 search.cpan.org 和 perldoc.perl.org 上瀏覽文件。
在 Unix 系統上,文件通常作為部分中的man頁面安裝3p以便以下命令可以正常工作
man 3p Module::Name
perldoc Module::Name也可以正常工作。
如果您想要可以在 Web 瀏覽器中瀏覽的文件,可以安裝 Perldoc::Server,如下所示。
模組文件作為 ActivePerl 中的 HTML 檔案安裝。要查詢這些檔案,請嘗試檢視以下目錄中的一些目錄
- C:\Perl\html\lib
- C:\Perl\html\site\lib
如果您在查詢模組的 HTML 文件時遇到了麻煩,您可以閱讀*.pmPerl 檔案本身以獲取 POD 註釋,或者使用pod2html工具自行生成 HTML 檔案。
Strawberry Perl 不會將模組文件安裝為 man 頁面或 html 檔案。相反,您可以執行 perldoc 命令來顯示模組文件。
perldoc Module::Name
您也可以使用Perldoc::Server來顯示模組文件,如下所示。
Perldoc::Server 模組(可以透過 CPAN 安裝)將提供一個本地伺服器,該伺服器將從 Perl 的文件以及已安裝模組的文件中“動態”顯示 HTML 檔案。安裝它,以及命令
perldoc-server
將位於您的路徑中。執行它,然後瀏覽到https://:7375/在您的 Web 瀏覽器中檢視文件。
請注意,perldoc-server 命令必須在執行時才能使用此方法提供文件。
如果 CPAN 上沒有您需要的模組,通常的答案是自己編寫模組並將其新增到 CPAN。這樣,其他任何人都不需要浪費時間建立您已經編寫過的相同功能。
請參閱 如何向 CPAN 貢獻模組