Pod::Weaver::Section::Version - add a VERSION pod section


version 4.019


This section plugin will produce a hunk of Pod meant to indicate the version of the document being viewed, like this:

  =head1 VERSION

  version 1.234

It will do nothing if there is no version entry in the input.


This module should work on any version of perl still receiving updates from the Perl 5 Porters. This means it should work on any version of perl released in the last two to three years. (That is, if the most recently released version is v5.40, then this module should work on both v5.40 and v5.38.)

Although it may work on older versions of perl, no guarantee is made that the minimum required version will not be increased. The version may be increased for any reason, and there is no promise that patches will be accepted to lower the minimum required perl.


The title of the header to be added. (default: "VERSION")


The string to use when generating the version string.

Default: version %v

The following variables are available:

  • v - the version

  • V - the version, suffixed by "-TRIAL" if a trial release

  • d - the CLDR format for DateTime

  • n - a newline

  • t - a tab

  • s - a space

  • r - the name of the dist, present only if you use Dist::Zilla to generate the POD!

  • m - the name of the module, present only if PPI parsed the document and it contained a package declaration!

  • T - special: at the beginning of the line, followed by any amount of whitespace, indicates that the line should only be included in trial releases; otherwise, results in a fatal error

If multiple strings are supplied as an array ref, a line of POD is produced for each string. Each line will be separated by a newline. This is useful for splitting longer text across multiple lines in a weaver.ini file, for example:

  ; weaver.ini
  format = version %v
  format =
  format = This module's version numbers follow the conventions described at
  format = L<|>.
  format = %T
  format = %T This is a trial release!


A boolean value specifying whether the version paragraph should be verbatim or not.

Default: false


The timezone to use when using DateTime for the format.

Default: local



  my @pod_elements = $section->build_content(\%input);

This method is passed the same \%input that goes to the weave_section method, and should return a list of pod elements to insert.

In almost all cases, this method is used internally, but could be usefully overridden in a subclass.


Ricardo SIGNES <>


This software is copyright (c) 2023 by Ricardo SIGNES.

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