CPAN.pm の perldoc ページは私を混乱させます。
はい、CPAN API のドキュメントはまだ少し不足しています。他の人がプログラムで使用できるように設計されているわけではありません。利用できる場合は、 CPANPLUSを使用すると幸運が得られる可能性があります。
私のプログラムは、まだ存在しない場合、いくつかのモジュールをダウンロードする必要があります。これは基本的には次のとおりですか: CPAN::Shell->install("Module::Name::Here");
はい、それは可能な限り単純なことです。実際、「cpan Module::Name::Here」と入力したときに「cpan」コマンド ライン プログラムが行うことはほとんどすべてです。ただし、事前に CPAN.pm を構成しておく必要があります。
それはパッケージをダウンロードし、アーカイブを解凍してインストールしますか?
はい、3 つすべてです。
パッケージが既に存在する場合、何も再インストールしようとしないことを確認したいと思います-これは関数のデフォルトの動作ですか、それともいいえですか?
はい、モジュールが最新の場合、デフォルトの動作では何もインストールされません。実際には、次のような「uptodate()」メソッドを使用して自分で確認できます。
my $mod = CPAN::Shell->expand("Module", "Module::Name::Here");
$mod->install unless $mod->uptodate;
また、Perl が CPAN に接続してパッケージを取得できなかったかどうかは、どうすればわかりますか?
これを簡単に説明できる方法でプログラム的に行うのは困難です。出力を確認するか、後で $mod->uptodate を確認する必要があります。
my $mod = CPAN::Shell->expand("Module", "Module::Name::Here");
if ( ! $mod->uptodate ) {
$mod->install;
die "Problems installing" unless $mod->uptodate;
}
頑張ってください!