我已經編寫了一個使用一些CPAN模塊的程序,並將這些模塊發送到名爲inc
的文件夾中。如何檢查CPAN上的模塊是否比我在項目中捆綁的模塊更新?
現在,我很想寫一個腳本來幫助我維護這個項目。腳本應該檢查CPAN上是否有更新版本的模塊可用。
我注意到,其中一些模塊有一個$VERSION
變量,我可以很容易地從它們中提取出來(但其中的一些卻沒有)。但是我怎麼能從CPAN中提取相同的信息呢?
我已經編寫了一個使用一些CPAN模塊的程序,並將這些模塊發送到名爲inc
的文件夾中。如何檢查CPAN上的模塊是否比我在項目中捆綁的模塊更新?
現在,我很想寫一個腳本來幫助我維護這個項目。腳本應該檢查CPAN上是否有更新版本的模塊可用。
我注意到,其中一些模塊有一個$VERSION
變量,我可以很容易地從它們中提取出來(但其中的一些卻沒有)。但是我怎麼能從CPAN中提取相同的信息呢?
你可能會得到這樣的信息與此命令:cpanp -o
要找到最新版本的CPAN模塊,你可以從任何CPAN鏡像站點下載modules/02packages.details.txt.gz
。
...
Acme::AutoColor 0.03 C/CA/CAVAC/Acme-AutoColor-0.03.tar.gz
Acme::AwesomeQuotes 0.02 C/CA/CARWASH/Acme-AwesomeQuotes-0.02.tar.gz
Acme::Base64 v0.0.2 H/HA/HAGGAI/Acme-Base64-v0.0.2.tar.gz
Acme::BDFOY 0.01 B/BD/BDFOY/Acme-BDFOY-0.01.tar.gz
Acme::Be::Modern 0.03 S/SL/SLU/Acme-Be-Modern-0.03.tar.gz
...
要比較版本,請比較'$ version_obj = version-> parse($ version_str);' – ikegami
難道你不怕,新模塊的版本會打破你的項目在生產? – Suic
@Suic,不,我不希望它被自動安裝。我只想要一個腳本,它會自動檢查我並確認它是否可用。然後,我會手動升級它並正確地測試它。 – Zagorax