pack_dep_gen.pm 666 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package pack_dep_gen;
  2. use strict;
  3. use Cwd qw(abs_path);
  4. use Exporter;
  5. use vars qw(@ISA @EXPORT @EXPORT_OK);
  6. @ISA = qw(Exporter);
  7. @EXPORT = qw(PrintDependency PrintDependModule);
  8. @EXPORT_OK = qw(PrintDependency PrintDependModule);
  9. return 1;
  10. sub PrintDependency
  11. {
  12. foreach my $file (@_)
  13. {
  14. if (-e $file)
  15. {
  16. my $file_full = abs_path($file);
  17. print STDERR "[Dependency] $file_full\n";
  18. }
  19. }
  20. }
  21. sub PrintDependModule
  22. {
  23. if (scalar @_ > 0)
  24. {
  25. PrintDependency(@_);
  26. }
  27. else
  28. {
  29. PrintDependency($0);
  30. }
  31. foreach my $value (values %INC)
  32. {
  33. if ($value =~ /\/usr\/(.+)\/perl\//i)
  34. {
  35. # skip system module
  36. }
  37. else
  38. {
  39. PrintDependency($value);
  40. }
  41. }
  42. }