Provided by: libperl-prereqscanner-notquitelite-perl_0.9909-1_all bug


       Perl::PrereqScanner::NotQuiteLite - a tool to scan your Perl code for its prerequisites


         use Perl::PrereqScanner::NotQuiteLite;
         my $scanner = Perl::PrereqScanner::NotQuiteLite->new(
           parsers => [qw/:installed -UniversalVersion/],
           suggests => 1,
           perl_minimum_version => 1,
         my $context = $scanner->scan_file('path/to/file');
         my $requirements = $context->requires;
         my $recommends = $context->recommends;
         my $suggestions  = $context->suggests; # requirements in evals
         my $noes = $context->noes;


       Perl::PrereqScanner::NotQuiteLite is yet another prerequisites scanner. It passes almost
       all the scanning tests for Perl::PrereqScanner and Module::ExtractUse (ie. except for a
       few dubious ones), and runs slightly faster than PPI-based Perl::PrereqScanner. However,
       it doesn't run as fast as Perl::PrereqScanner::Lite (which uses an XS lexer).

       Perl::PrereqScanner::NotQuiteLite also recognizes "eval".  Prerequisites in "eval" are not
       considered as requirements, but you can collect them as suggestions.

       Conditional requirements or requirements loaded in a block are treated as recommends. Noed
       modules are stored separately (since 0.94).  You may or may not need to merge them into

       Perl::PrereqScanner::NotQuiteLite can also recognize some of the new language features
       such as "say", subroutine signatures, and postfix dereferences, to improve the minimum
       perl requirement (since 0.9905).


       creates a scanner object. Options are:

           By default, Perl::PrereqScanner::NotQuiteLite only recognizes modules loaded directly
           by "use", "require", "no" statements, plus modules loaded by a few common modules such
           as "base", "parent", "if" (that are in the Perl core), and by two keywords exported by
           Moose family ("extends" and "with").

           If you need more, you can pass extra parser names to the scanner, or ":bundled", which
           loads and registers all the parsers bundled with this distribution. If you have your
           own parsers, you can specify ":installed" to load and register all the installed

           You can also pass a project-specific parser (that lies outside the
           "Perl::PrereqScanner::NotQuiteLite::Parser" namespace) by prepending "+" to the name.

             use Perl::PrereqScanner::NotQuiteLite;
             my $scanner = Perl::PrereqScanner::NotQuiteLite->new(
               parsers => [qw/+PrereqParser::For::MyProject/],

           If you don't want to load a specific parser for some reason, prepend "-" to the parser

           Perl::PrereqScanner::NotQuiteLite ignores "use"-like statements in "eval" by default.
           If you set this option to true, Perl::PrereqScanner::NotQuiteLite also parses
           statements in "eval", and records requirements as suggestions.

           Perl::PrereqScanner::NotQuiteLite usually ignores "require"-like statements in a block
           by default. If you set this option to true, Perl::PrereqScanner::NotQuiteLite also
           records requirements in a block as recommendations.

           If you set this option to true, Perl::PrereqScanner::NotQuiteLite adds a specific
           version of perl as a requirement when it finds some of the new perl language features.

       takes a path to a file and returns a ::Context object.

       takes a string, scans and returns a ::Context object.


       Perl::PrereqScanner, Perl::PrereqScanner::Lite, Module::ExtractUse

       Perl::PrereqScanner::NotQuiteLite::App to scan a whole distribution.

       scan-perl-prereqs-nqlite is a command line interface of the above.


       Kenichi Ishigaki, <>


       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.