logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

perl-depends - Roughly find out module dependencies from Perl file(s)

Author

       Jari Aalto <jari.aalto@cante.net>

Availability

       https://github.com/jaalto/project--perl-depends

Bugs And Limitations

       If the target program's code conditionally loads mor perl modules during  execution,  you  must  run  the
       program for real to have those modules detected.

Dependencies

       Uses standard Perl modules.

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 in the %INC variable. By examining the
       loaded modules and comparing them against the standard Perl modules, the external module dependencies can
       be roughly dependencies.

       The dependency information can be used to determine what external modules have to be installed before the
       program can be used.

       The target FILE has to be instrumented (a comouting term to inject code) with the dependency checking
       code. The resulting script 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 programs to trigger nullbehavior. That is, something that doesn't actually involve executing
       the script for real. Such options might include --version, --dry-run, or options like
       --generate-syntax-error-now, or invalid arguments to make the program stop with an error. The user is
       more likely to know the best way of running the instrumented files.

       An example of output: the external module dependency here is 'Regexp::Common' and the rest of them can be
       ignored.

           Regexp::Common                 Regexp/Common.pm
           Regexp::Common::CC             Regexp/Common/CC.pm
           ...

Environment

       None.

Examples

       Instrument a file, run it to see the results and delete instrumentated script:

           perl-depends file.pl
           perl file.pl.tmp <followed by whatever args the program needs>
           rm *.tmp

Exit Status

       This program's exit status is not defined.

       The  instrumented  program's  exit  status  is  1  if external modules are displayed and 0 if no external
       modules are found.

Files

       None.

License

       Copyright (C) 2009-2016 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.  See
       <http://www.gnu.org/licenses/>.

perl v5.36.0                                       2022-11-20                                    PERL-DEPENDS(1)

Name

       perl-depends - Roughly find out module dependencies from Perl file(s)

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.

See Also

cpan(1)

Synopsis

         perl-depends [options] FILE [FILE ...]

Troubleshooting

       None.

See Also