Visual Studioでは、依存関係グラフを確立できます。それはかなりクールな機能です。
Perl に関する私の質問の焦点 --- Perl モジュールに対してそれを行うことができる適切なツールはありますか?
Visual Studioでは、依存関係グラフを確立できます。それはかなりクールな機能です。
Perl に関する私の質問の焦点 --- Perl モジュールに対してそれを行うことができる適切なツールはありますか?
あなたが(ただ)それらを表示/検索したい場合は、ScanDepsを使用してください
コマンドライン プログラム scandeps.pl 経由:
% scandeps.pl *.pm # Print PREREQ_PM section for *.pm
% scandeps.pl -e "use utf8" # Read script from command line
% scandeps.pl -B *.pm # Include core modules
% scandeps.pl -V *.pm # Show autoload/shared/data files
プログラムで使用されます。
use Module::ScanDeps;
# standard usage
my $hash_ref = scan_deps(
files => [ 'a.pl', 'b.pl' ],
recurse => 1,
);
# shorthand; assume recurse == 1
my $hash_ref = scan_deps( 'a.pl', 'b.pl' );
# App::Packer::Frontend compatible interface
# see App::Packer::Frontend for the structure returned by get_files
my $scan = Module::ScanDeps->new;
$scan->set_file( 'a.pl' );
$scan->set_options( add_modules => [ 'Test::More' ] );
$scan->calculate_info;
my $files = $scan->get_files;
それらを素敵なグラフ/ツリーで表示したい場合は、GraphViz2 を使用します
さらに、CPAN の依存関係をスキャンするには、http://deps.cpantesters.org/を試してみてください。
その他のオプションは次のとおりです。
CPAN::FindDependencies - CPAN 上のモジュールの依存関係を見つける
use CPAN::FindDependencies;
my @dependencies = CPAN::FindDependencies::finddeps("CPAN");
foreach my $dep (@dependencies) {
print ' ' x $dep->depth();
print $dep->name().' ('.$dep->distribution().")\n";
}
Module::Extract::Use - モジュールが使用するモジュールを引き出す
use Module::Extract::Use;
my $extor = Module::Extract::Use->new;
my @modules = $extor->get_modules( $file );
if( $extor->error ) { ... }
my $details = $extor->get_modules_with_details( $file );
foreach my $detail ( @$details ) {
printf "%s %s imports %s\n",
$detail->module, $detail->version,
join ' ', @{ $detail->imports }
}
たぶん、この結論はあなたをもっと明るくするでしょう..