Parse::PMFile - phpMan

Parse::PMFile(3)      User Contributed Perl Documentation     Parse::PMFile(3)
NAME
       Parse::PMFile - parses .pm file as PAUSE does
SYNOPSIS
           use Parse::PMFile;
           my $parser = Parse::PMFile->new($metadata, {VERBOSE => 1});
           my $packages_info = $parser->parse($pmfile);
           # if you need info about invalid versions
           my ($packages_info, $errors) = $parser->parse($pmfile);
           # to check permissions
           my $parser = Parse::PMFile->new($metadata, {
               USERID => 'ISHIGAKI',
               PERMISSIONS => PAUSE::Permissions->new,
           });
DESCRIPTION
       The most of the code of this module is taken from the PAUSE code as of
       April 2013 almost verbatim. Thus, the heart of this module should be
       quite stable. However, I made it not to use pipe ("-|") as well as I
       stripped database-related code. If you encounter any issue, that's most
       probably because of my modification.
       This module doesn't provide features to extract a distribution or parse
       meta files intentionally.
METHODS
   new
       creates an object. You can also pass a hashref taken from META.yml etc,
       and an optional hashref. Options are:
       ALLOW_DEV_VERSION
           Parse::PMFile usually ignores a version with an underscore as PAUSE
           does (because it's for a developer release, and should not be
           indexed). Set this option to true if you happen to need to keep
           such a version for better analysis.
       VERBOSE
           Set this to true if you need to know some details.
       FORK
           As of version 0.17, Parse::PMFile stops forking while parsing a
           version for better performance. Parse::PMFile should return the
           same result no matter how this option is set, but if you do care,
           set this to true to fork as PAUSE does.
       USERID, PERMISSIONS
           As of version 0.21, Parse::PMFile checks permissions of a package
           if both USERID and PERMISSIONS (which should be an instance of
           PAUSE::Permissions) are provided. Unauthorized packages are
           removed.
       UNSAFE
           Parse::PMFile usually parses a module version in a Safe
           compartment. However, this approach doesn't work smoothly under
           older perls (prior to 5.10) plus some combinations of recent
           versions of Safe.pm (2.24 and above) and version.pm (0.9905 and
           above) for various reasons. As of version 0.27, Parse::PMFile
           simply uses "eval" to parse a version under older perls. If you
           want it to use always "eval" (even under recent perls), set this to
           true.
   parse
       takes a path to a .pm file, and returns a hash reference that holds
       information for package(s) found in the file.
SEE ALSO
       Parse::LocalDistribution, PAUSE::Permissions
       Most part of this module is derived from PAUSE and CPAN::Version.
       <https://github.com/andk/pause>;
       <https://github.com/andk/cpanpm>;
AUTHOR
       Andreas Koenig <andreas.koenig AT anima.de>
       Kenichi Ishigaki, <ishigaki AT cpan.org>
COPYRIGHT AND LICENSE
       Copyright 1995 - 2013 by Andreas Koenig <andk AT cpan.org> for most of the
       code.
       Copyright 2013 by Kenichi Ishigaki for some.
       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.
perl v5.26.3                      2016-11-03                  Parse::PMFile(3)