| Perl::PrereqScanner(3) | User Contributed Perl Documentation | Perl::PrereqScanner(3) |
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.
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.
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.
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.
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:
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) ] });
SEE ALSO
scan-perl-prereqs, in this distribution, is a command-line interface to the scanner
POD ERRORS
Hey! The above document had some coding errors, which are explained below:
- Around line 56:
- Unknown directive: =method
- Around line 79:
- Unknown directive: =method
- Around line 99:
- Unknown directive: =method
- Around line 120:
- Unknown directive: =method
| 2026-10-24 | perl v5.44.0 |