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

FreeBSD Manual Pages

  
 
  

home | help
Pod::MinimumVersion(3)User Contributed Perl DocumentatioPod::MinimumVersion(3)

NAME
       Pod::MinimumVersion - Perl version for POD directives used

SYNOPSIS
	use Pod::MinimumVersion;
	my $pmv	= Pod::MinimumVersion->new (filename =>	'/some/foo.pl');
	print $pmv->minimum_version,"\n";
	print $pmv->reports;

DESCRIPTION
       "Pod::MinimumVersion" parses the	POD in a Perl script, module, or
       document, and reports what version of Perl is required to process the
       directives in it	with "pod2man" etc.

CHECKS
       The following POD features are identified.

       o   5.004: new "=for", "=begin" and "=end"

       o   5.005: new L<display	text|target> style display part

       o   5.6.0: new C<< foo >> etc double-angles

       o   5.8.0: new "=head3" and "=head4"

       o   5.8.0: new L<http://some.where.com> URLs.  (Before 5.8 the "/" is a
	   "section" separator,	giving very poor output.)

       o   5.8.0: new E<apos>, E<sol>, E<verbar> chars.	 (Documented in	5.6.0,
	   but pod2man doesn't recognise them until 5.8.)

       o   5.10.0: new "=encoding" command.  (Documented in 5.8.0, but
	   "pod2man" doesn't recognise it until	5.10.)

       o   5.12.0: new L<display text|http://some.where.com> URL with text.
	   (Before 5.12	the combination	of display part	and URL	was explicitly
	   disallowed by perlpodspec.)

       POD syntax errors are quietly ignored currently.	 The intention is only
       to check	what "pod2man" would act on but	it's probably a	good idea to
       use "Pod::Checker" first.

       "J<<A >>" for "Pod::MultiLang" is recognised and	is allowed for any
       Perl, including with double-angles.  The	assumption is that if you're
       writing that then you'll	first crunch with the "Pod::MultiLang" tools,
       so it's not important what "pod2man" thinks of it.

FUNCTIONS
       "$pmv = Pod::MinimumVersion->new	(key =>	value, ...)"
	   Create and return a new "Pod::MinimumVersion" object	which will
	   analyze a document.	The document is	supplied as one	of

	       filehandle => $fh,
	       string	  => 'something',
	       filename	  => '/my/dir/foo.pod',

	   For "filehandle" and	"string", a "filename" can be supplied too to
	   give	a name in the reports.	The handle or string is	what's
	   actually read.

	   The "above_version" option lets you set a Perl version of you have
	   or are targeting, so	reports	are only about features	above that
	   level.

	       above_version =>	'5.006',

       "$version = $pmv->minimum_version ()"
       "$report	= $pmv->minimum_report ()"
	   Return the minimum Perl required for	the document in	$pmv.

	   "minimum_version" returns a "version" number	object (see version).
	   "minimum_report" returns a "Pod::MinimumVersion::Report" object
	   (see	"REPORT	OBJECTS" below).

       "@reports = $pmv->reports ()"
	   Return a list of "Pod::MinimumVersion::Report" objects concerning
	   the document	in $pmv.

	   These multiple reports let you identify multiple places that	a
	   particular Perl is required.	 With the "above_version" option the
	   reports are only about things higher	than that.

	   "minimum_version" and "minimum_report" are simply the highest Perl
	   among these multiple	reports.

REPORT OBJECTS
       A "Pod::MinimumVersion::Report" object holds a location within a
       document	and a reason that a particular Perl is needed at that point.
       The hash	fields are

	   filename   string
	   linenum    integer, with 1 for the first line
	   version    version.pm object
	   why	      string

       "$str = $report->as_string"
	   Return a formatted string for the report.  Currently	this is	in GNU
	   file:line style, simply

	       <filename>:<linenum>: <version> due to <why>

SEE ALSO
       version,	Pod::MultiLang,
       Perl::Critic::Policy::Compatibility::PodMinimumVersion

       Perl::MinimumVersion,
       Perl::Critic::Policy::Modules::PerlMinimumVersion,
       Perl::Critic::Policy::Compatibility::PerlMinimumVersionAndWhy

HOME PAGE
       http://user42.tuxfamily.org/pod-minimumversion/index.html

COPYRIGHT
       Copyright 2009, 2010, 2011 Kevin	Ryde

       Pod-MinimumVersion is free software; you	can redistribute it and/or
       modify it under the terms of the	GNU General Public License as
       published by the	Free Software Foundation; either version 3, or (at
       your option) any	later version.

       Pod-MinimumVersion is distributed in the	hope that it will be useful,
       but WITHOUT ANY WARRANTY; without even the implied warranty of
       MERCHANTABILITY or FITNESS FOR A	PARTICULAR PURPOSE.  See the GNU
       General Public License for more details.

       You should have received	a copy of the GNU General Public License along
       with Pod-MinimumVersion.	 If not, see <http://www.gnu.org/licenses/>.

perl v5.32.1			  2011-04-01		Pod::MinimumVersion(3)

NAME | SYNOPSIS | DESCRIPTION | CHECKS | FUNCTIONS | REPORT OBJECTS | SEE ALSO | HOME PAGE | COPYRIGHT

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

home | help