Scroll to navigation

SCAN-PERL-PREREQS-NQLITE(1) User Contributed Perl Documentation SCAN-PERL-PREREQS-NQLITE(1)

NAME

scan-perl-prereqs-nqlite

SYNOPSIS

  scan-perl-prereqs-nqlite [DIRS|FILES]

DESCRIPTION

"scan-perl-prereqs-nqlite" traverses several files and subdirectories in the current directory with File::Find to collect all ".pl", ".PL", ".pm", ".t", ".psgi" files (as well as all the files in "scripts?" and "bin" directories), and prints a single combined list of prerequisites, which should be suitable for piping to "cpanm" or similar tools.

You can also pass files and/or directories to limit files to scan. In this case, however, "scan-perl-prereqs-nqlite" may fail to exclude modules that should belong to the same distribution.

OPTIONS

Show the version.
Show this help.
Print prerequisites as a JSON if JSON::PP is installed.
Print prerequisites as "cpanfile" if Module::CPANfile is installed. If "safe-cpanfile" is set, create or update "cpanfile".
Print suggestions ("use"d modules in "eval") as well.
Print requirements/suggestions for developers ("use"d modules in "xt" and "author" directories) as well.
May modify required perl version if new language features are used without declaring the required perl version explicitly.
Ignore prerequisites that are bundled with Perl (of 5.008001 by default). This requires Module::CoreList version 2.99 or above.
Ignore prerequisites that are bundled with Perl of a specific version. This implies "exclude-core" as well.
Print requirements/suggestions in .pm files that are placed under t/ directory but are not directly used from .t files, too. If Test::Class family is used under t/, this option is implicitly set.
Set the base directory from where "scan-perl-prereqs-nqlite" starts traversing files and directories.
Set a list of paths "scan-perl-prereqs-nqlite" should ignore. This is useful when your distribution has a set of OS-specific modules, for example.
You can also specify a regexp instead of a list of paths. If this is set, "ignore" options are ignored.
Set a list of paths "scan-perl-prereqs-nqlite" should ignore. This is useful when your distribution has a set of OS-specific modules, for example.
You can also specify a regexp instead of a list of paths. If this is set, "optional" options are ignored.
Set a list of modules "scan-perl-prereqs-nqlite" should consider private, that is, that are not uploaded to the CPAN. Contrary to the "ignore" option, which makes the scanner skip scanning the file, this option lets the scanner scan files, and excludes matched prerequisites afterwards.
You can also specify a regexp instead of a list of modules. If this is set, "private" options are ignored.
Set a list of extra paths "scan-perl-prereqs-nqlite" should also scan. This is useful when your application/distribution uses an untraditional file layout.
  scan-perl-prereqs-nqlite \
    --feature name:description:lib/My/Plugin/For/SpecificOS \
    --feature name:description:web/lib,web/bin
    

Specify a feature name, a description, and matching paths.

You can specify an index name of CPAN::Common::Index module (such as "Mirror" or "MetaDB") not to list all the modules of a required distribution.
If this is set, "scan-perl-prereqs-nqlite" will traverse subdirectories under "blib" to collect runtime requirements. It may return better results if some of the files are located in some uncommon places and/or some of them are listed in "no_index". However, files in "blib" may be older than the ones under "lib" etc, and you need to update them by running a make or a "Build" script before you run "scan-perl-prereqs-nqlite".
Set a list of parsers (or parser tags) "scan-perl-prereqs-nqlite" uses. If this option is not set, the scanner uses ":installed" parsers by default.
Add a list of additional @INC path "scan-perl-prereqs-nqlite" looks for private parsers.
Print verbose messages.

AUTHOR

Kenichi Ishigaki, <ishigaki@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2015 by Kenichi Ishigaki.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

2023-04-28 perl v5.38.2