Perlはインターネットの血であり、CPANはこの言語の非常に重要な部分です。
ある時点で、XMLモジュールの1つが必要になりました。 私はDebian Lennyデスクトップ(ほぼ同じ名前)を持っているので、debian-wayでそれをすることにし、aptを通してインストールしました。 モジュールはすべての依存関係とともにインストールされ、インストールしたものに注意を払っていないことに気付きました。 すでにインストールされているモジュールを確認することに決めたときに、ある問題に遭遇しました。これを単純なコマンドにすることはそれほど単純ではないことがわかりました。
おそらくそれは誰かに役立つでしょう。 File :: Findモジュールが必要になります。
#! / usr / bin / perl -l 厳格な使用; 警告を使用します。 File :: Find :: Ruleを使用します。 私の@seen; 私の$パス(@INC){ $ファイル(ファイル::検索::ルール->名前( '*。pm')-> in($パス)){ 私の$ module = substr($ファイル、長さ($パス)+1); $ module =〜s / .pm $ //; #名前からファイルの終わりを削除 $ module =〜s {[\\ /]} {::} g; #読みやすくするために/ \を::に変更します。 push(@ seen、$モジュール); } } print join( "\ n"、(sort {lc($ a)cmp lc($ b)} @seen))、 "\ n"; #名前でソートして印刷 もちろん、ワイルドカードでモジュールをパイプして表示できます。 たとえば、スクリプト名がfindmodule.plであるとします。 root @ debian:〜#perl findmodule.pl | grep -i snmp SNMP_Session SNMP_util