sub packlists_containing { my ($self, $targets) = @_; my @targets = @$targets; require $_ for @targets; my @search = grep -d $_, map catdir($_, 'auto'), @INC; my %pack_rev; my $cwd = cwd; find(sub { return unless $_ eq '.packlist' && -f $_; $pack_rev{$_} = $File::Find::name for lines_of $File::Find::name; }, @search); chdir($cwd) or die "Couldn't chdir back to ${cwd} after find: $!"; my %found; @found{map +($pack_rev{$INC{$_}}||()), @targets} = (); sort keys %found; } #### POSIX.pm List/Util.pm Spreadsheet/ParseExcel/Cell.pm /usr/lib/perl/5.14/auto/POSIX/load_imports.al Tie/Hash.pm Cwd.pm Spreadsheet/WriteExcel/OLEwriter.pm Spreadsheet/ParseExcel.pm Fcntl.pm Symbol.pm Spreadsheet/WriteExcel/Chart.pm Scalar/Util.pm Spreadsheet/ParseExcel/Format.pm Spreadsheet/WriteExcel/BIFFwriter.pm File/Spec.pm File/Glob.pm warnings/register.pm Spreadsheet/ParseExcel/Workbook.pm Spreadsheet/ParseExcel/Utility.pm Spreadsheet/WriteExcel/Properties.pm utf8.pm Spreadsheet/WriteExcel/Worksheet.pm File/Spec/Unix.pm Exporter/Heavy.pm vars.pm Spreadsheet/WriteExcel/Formula.pm Spreadsheet/WriteExcel/Workbook.pm AutoLoader.pm IO/Handle.pm Getopt/Long.pm SelectSaver.pm Spreadsheet/ParseExcel/Worksheet.pm Time/Local.pm Spreadsheet/ParseExcel/Font.pm unicore/Heavy.pl unicore/To/Fold.pl Spreadsheet/WriteExcel.pm /usr/lib/perl/5.14/auto/POSIX/autosplit.ix OLE/Storage_Lite.pm FindBin.pm IO/Seekable.pm File/Copy.pm Spreadsheet/WriteExcel/Format.pm threads.pm Digest/Perl/MD5.pm File/Basename.pm Config.pm integer.pm IO.pm if.pm Carp.pm Crypt/RC4.pm FileHandle.pm Spreadsheet/ParseExcel/Simple.pm utf8_heavy.pl constant.pm Spreadsheet/ParseExcel/FmtDefault.pm overload.pm IO/File.pm feature.pm