NAME¶
perl-depends - Roughly find out module depends from Perl file(s)
SYNOPSIS¶
perl-depends [options] FILE [FILE ...]
DESCRIPTION¶
Find out roughly the modules the program uses. This is based on the idea, that
Perl evaluates the "use" commands at compile time and stores the
loaded module information into the %INC variable. By examining the loaded
modules and comparing them against the standard Perl modules, the external
module dependencies can be roughly estimated.
The depends information can be used to determine what external modules have to
be installed before a program can be used.
The target FILE have to be instrumented with the dependency checking code. The
resulting "binary" is then stored in a temporary file which the user
runs.
This program does not run the instrumented files because it cannot know what
possible options need to be passed for the program to trigger "no
behavior". That is, something that doesn't actually involve executing the
"binary" in real. Such options passed would include --version,
--dry-run, invalid options like --generate-syntax-error-now, or invalid files
etc. to make program stop on error. The user can know better the details of
running the intrumented file.
An example of output: the external module depends here is 'Regexp::Common' and
the rest of them can be ignored.
Regexp::Common Regexp/Common.pm
Regexp::Common::CC Regexp/Common/CC.pm
...
OPTIONS¶
- -e, --extension=EXT
- Use extension EXT for instrumented files. The default is
".tmp".
- -h, --help
- Print text help
- --help-html
- Print help in HTML format.
- --help-man
- Print help in manual page man(1) format.
- -v, --verbose LEVEL
- Print informational messages. Increase numeric LEVEL for
more verbosity.
- -V, --version
- Print contact and version information.
EXAMPLES¶
Instrument a file, run it to see results and delete instrumentation:
perl-depends file.pl
perl file.pl.tmp --version
rm *.tmp
TROUBLESHOOTING¶
None.
ENVIRONMENT¶
None.
FILES¶
None.
EXIT STATUS¶
This program's exit status is not defined.
The instrumented programs exit status is 1 in case external moduels are
displayed and 0 if no external modules are found.
DEPENDENCIES¶
Uses standard Perl modules.
BUGS AND LIMITATIONS¶
None.
SEE ALSO¶
cpan(1)
AVAILABILITY¶
http://freshmeat.net/projects/perl-depends
AUTHOR¶
Jari Aalto <jari.aalto@cante.net>
LICENSE¶
Copyright (C) 2009-2011 Jari Aalto <jari.aalto@cante.net>
This program is free software; you can redistribute and/or modify program under
the terms of GNU General Public license either version 2 of the License, or
(at your option) any later version.