Perl::MinimumVersion man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

Perl::MinimumVersion(3User Contributed Perl DocumentatiPerl::MinimumVersion(3)

NAME
       Perl::MinimumVersion - Find a minimum required version of perl for Perl
       code

SYNOPSIS
	 # Create the version checking object
	 $object = Perl::MinimumVersion->new( $filename );
	 $object = Perl::MinimumVersion->new( \$source	);
	 $object = Perl::MinimumVersion->new( $ppi_document );

	 # Find the minimum version
	 $version = $object->minimum_version;

DESCRIPTION
       "Perl::MinimumVersion" takes Perl source code and calculates the
       minimum version of perl required to be able to run it. Because it is
       based on PPI, it can do this without having to actually load the code.

       Currently it tests both the syntax of your code, and the use of
       explicit version dependencies such as "require 5.005".

       Future plans are to also add support for tracing module dependencies.

       Using "Perl::MinimumVersion" is dead simple, the synopsis pretty much
       covers it.

METHODS
   new
	 # Create the version checking object
	 $object = Perl::MinimumVersion->new( $filename );
	 $object = Perl::MinimumVersion->new( \$source	);
	 $object = Perl::MinimumVersion->new( $ppi_document );

       The "new" constructor creates a new version checking object for a
       PPI::Document. You can also provide the document to be read as a file
       name, or as a "SCALAR" reference containing the code.

       Returns a new "Perl::MinimumVersion" object, or "undef" on error.

   Document
       The "Document" accessor can be used to get the PPI::Document object
       back out of the version checker.

   minimum_version
       The "minimum_version" method is the primary method for finding the
       minimum perl version required based on "all" factors in the document.

       At the present time, this is just syntax and explicit version checks,
       as Perl::Depends is not yet completed.

       Returns a version object, or "undef" on error.

   minimum_explicit_version
       The "minimum_explicit_version" method checks through Perl code for the
       use of explicit version dependencies such as.

	 use 5.006;
	 require 5.005_03;

       Although there is almost always only one of these in a file, if more
       than one are found, the highest version dependency will be returned.

       Returns a version object, false if no dependencies could be found, or
       "undef" on error.

   minimum_syntax_version $limit
       The "minimum_syntax_version" method will explicitly test only the
       Document's syntax to determine it's minimum version, to the extent that
       this is possible.

       It takes an optional parameter of a version object defining the the
       lowest known current value. For example, if it is already known that it
       must be 5.006 or higher, then you can provide a param of qv(5.006) and
       the method will not run any of the tests below this version. This
       should provide dramatic speed improvements for large and/or complex
       documents.

       The limitations of parsing Perl mean that this method may provide
       artifically low results, but should not artificially high results.

       For example, if "minimum_syntax_version" returned 5.006, you can be
       confident it will not run on anything lower, although there is a chance
       that during actual execution it may use some untestable feature that
       creates a dependency on a higher version.

       Returns a version object, false if no dependencies could be found, or
       "undef" on error.

   minimum_external_version
       WARNING: This method has not been implemented. Any attempted use will
       throw an exception

       The "minimum_external_version" examines code for dependencies on other
       external files, and recursively traverses the dependency tree applying
       the same tests to those files as it does to the original.

       Returns a "version" object, false if no dependencies could be found, or
       "undef" on error.

   version_markers
       This method returns a list of pairs in the form:

	 ($version, \@markers)

       Each pair represents all the markers that could be found indicating
       that the version was the minimum needed version.	 @markers is an array
       of strings.  Currently, these strings are not as clear as they might
       be, but this may be changed in the future.  In other words: don't rely
       on them as specific identifiers.

BUGS
       Perl::MinimumVersion does a reasonable job of catching the best-known
       explicit version dependencies.

       However it is exceedingly easy to add a new syntax check, so if you
       find something this is missing, copy and paste one of the existing 5
       line checking functions, modify it to find what you want, and report it
       to rt.cpan.org, along with the version needed.

       I don't even need an entire diff... just the function and version.

TO DO
       Write lots more version checkers

       - Perl 5.10 operators and language structures

       - Three-argument open

       Write the explicit version checker

       Write the recursive module descend stuff

       Check for more 5.12 features (currently only detecting "package NAME
       VERSION;", "...", and "use feature ':5.12'")

SUPPORT
       All bugs should be filed via the CPAN bug tracker at

       http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Perl-MinimumVersion
       <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Perl-MinimumVersion>

       For other issues, or commercial enhancement or support, contact the
       author.

AUTHORS
       Adam Kennedy <adamk@cpan.org>

SEE ALSO
       <http://ali.as/>, PPI, version

COPYRIGHT
       Copyright 2005 - 2011 Adam Kennedy.

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

       The full text of the license can be found in the LICENSE file included
       with this module.

perl v5.14.1			  2011-03-02	       Perl::MinimumVersion(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net