comments welcome..#!/usr/local/bin/perl ## Usage: # find_perl_dependencies.pl <DIR> # use strict; use warnings; use Module::Dependency::Indexer; use Module::Dependency::Info; my $start_dir = $ARGV[0] || '.'; Module::Dependency::Indexer::setIndex('/tmp/perl_dependencies.dat'); Module::Dependency::Indexer::makeIndex($start_dir); my $dpidx = Module::Dependency::Info::retrieveIndex(); my $all = $dpidx->{allobjects}; my @todo = map { @{ $all->{$_}->{depends_on} } } grep { exists $all->{$_}->{depends_on} } keys %$all; my @modules; my %seen; while (my $pm = shift @todo) { next if $seen{$pm}++; push @modules, $pm; next unless exists $all->{$pm} and exists $all->{$pm}->{depends_on +}; my @reqs = grep { !$seen{$_} } @{ $all->{$pm}->{depends_on} }; push @todo, @reqs; } print "$_\n" foreach sort @modules;
when run in a directory containing only this script:
% perl find_perl_dependencies.pl . Module::Dependency::Indexer Module::Dependency::Info strict warnings
In reply to Re: To list all *.pm files included in a set of pl scripts
by mreece
in thread To list all *.pm files included in a set of pl scripts
by Ananda
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |