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

FreeBSD Manual Pages

  
 
  

home | help
Perl::PrereqScanner(3)User Contributed Perl DocumentatioPerl::PrereqScanner(3)

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

VERSION
       version 1.023

SYNOPSIS
	 use Perl::PrereqScanner;
	 my $scanner = Perl::PrereqScanner->new;
	 my $prereqs = $scanner->scan_ppi_document( $ppi_doc );
	 my $prereqs = $scanner->scan_file( $file_path );
	 my $prereqs = $scanner->scan_string( $perl_code );
	 my $prereqs = $scanner->scan_module( $module_name );

DESCRIPTION
       The scanner will	extract	loosely	your distribution prerequisites	from
       your files.

       The extraction may not be perfect but tries to do its best. It will
       currently find the following prereqs:

       o   plain lines beginning with "use" or "require" in your perl modules
	   and scripts,	including minimum perl version

       o   regular inheritance declared	with the "base"	and "parent" pragmata

       o   Moose inheritance declared with the "extends" keyword

       o   Moose roles included	with the "with"	keyword

       o   OO namespace	aliasing using the "aliased" module

   Scanner Plugins
       Perl::PrereqScanner works by running a series of	scanners over a
       PPI::Document representing the code to scan.  By	default	the "Perl5",
       "Moose",	"TestMore", "POE", and "Aliased" scanners are run.  You	can
       supply your own scanners	when constructing your PrereqScanner:

	 # Us only the Perl5 scanner:
	 my $scanner = Perl::PrereqScanner->new({ scanners => [	qw(Perl5) ] });

	 # Use any stock scanners, plus	Example:
	 my $scanner = Perl::PrereqScanner->new({ extra_scanners => [ qw(Example) ] });

METHODS
   scan_string
	 my $prereqs = $scanner->scan_string( $perl_code );

       Given a string containing Perl source code, this	method returns a
       CPAN::Meta::Requirements	object describing the modules it requires.

       This method will	throw an exception if PPI fails	to parse the code.

       Warning!	 It isn't entirely clear whether PPI prefers to	receive
       strings as octet	strings	or character strings.  For now,	my advice is
       to pass octet strings.

   scan_file
	 my $prereqs = $scanner->scan_file( $path );

       Given a file path to a Perl document, this method returns a
       CPAN::Meta::Requirements	object describing the modules it requires.

       This method will	throw an exception if PPI fails	to parse the code.

   scan_ppi_document
	 my $prereqs = $scanner->scan_ppi_document( $ppi_doc );

       Given a PPI::Document, this method returns a CPAN::Meta::Requirements
       object describing the modules it	requires.

   scan_module
	 my $prereqs = $scanner->scan_module( $module_name );

       Given the name of a module, eg 'PPI::Document', this method returns a
       CPAN::Meta::Requirements	object describing the modules it requires.

SEE ALSO
       scan-perl-prereqs, in this distribution,	is a command-line interface to
       the scanner

AUTHORS
       o   Jerome Quelin

       o   Ricardo Signes <rjbs@cpan.org>

CONTRIBUTORS
       o   bowtie <bowtie@cpan.org>

       o   celogeek <me@celogeek.com>

       o   Christopher J. Madsen <perl@cjmweb.net>

       o   David Golden	<dagolden@cpan.org>

       o   David Steinbrunner <dsteinbrunner@pobox.com>

       o   Ed J	<mohawk2@users.noreply.github.com>

       o   Florian Ragwitz <rafl@debian.org>

       o   Jakob Voss <voss@gbv.de>

       o   Jerome Quelin <jquelin@gmail.com>

       o   JA(C)rA'me Quelin <jquelin@gmail.com>

       o   John	SJ Anderson <genehack@genehack.org>

       o   Karen Etheridge <ether@cpan.org>

       o   Mark	Gardner	<gardnerm@gsicommerce.com>

       o   Neil	Bowers <neil@bowers.com>

       o   Randy Stauner <rwstauner@cpan.org>

       o   Tina	Mueller	<tinita@cpan.org>

       o   Vyacheslav Matjukhin	<mmcleric@yandex-team.ru>

COPYRIGHT AND LICENSE
       This software is	copyright (c) 2009 by Jerome Quelin.

       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			  2015-04-06		Perl::PrereqScanner(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | METHODS | SEE ALSO | AUTHORS | CONTRIBUTORS | COPYRIGHT AND LICENSE

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

home | help