Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Perl::PrereqScanner::NUseriContributed PerPerl::PrereqScanner::NotQuiteLite(3)

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

SYNOPSIS
	 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;

DESCRIPTION
       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 requires.

       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).

METHODS
   new
       creates a scanner object. Options are:

       parsers
	   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
	   parsers.

	   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 name.

       suggests
	   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.

       recommends
	   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.

       perl_minimum_version
	   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.

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

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

SEE ALSO
       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.

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.

perl v5.32.0			  2020-05-Perl::PrereqScanner::NotQuiteLite(3)

NAME | SYNOPSIS | DESCRIPTION | METHODS | SEE ALSO | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Perl::PrereqScanner::NotQuiteLite&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help