Perl::Critic::Policy::Documentation::RequirePodAtEnd(3pm)

Perl::Critic::Policy::Documentation::RequirePodAtEnd3pm

All pod should be after "__end__".

Affiliation

This Policy is part of the core Perl::Critic distribution.

Overview

Perl stops processing code when it sees an "__END__" statement. So, to save processing time, it's faster to put documentation after the "__END__". Also, writing all the POD in one place usually leads to a more cohesive document, rather than being forced to follow the layout of your code. This policy issues violations if any POD is found before an "__END__".

Configuration

This Policy is not configurable except for the standard options.

Notes

Some folks like to use "=for", and "=begin", and "=end" tags to create block comments in-line with their code. Since those tags aren't usually part of the documentation, this Policy does allows them to appear before the "__END__" statement.

    =begin comments
    frobulate()
    Accepts:  A list of things to frobulate
    Returns:  True if successful
    =end comments
    sub frobulate { ... }

Releases

10 releases since Debian 5.0 (Lenny); the text changed 9 times.

  1. 5.0
  2. 6.0
  3. 7
  4. 8
  5. 9
  6. 10
  7. 11
  8. 12
  9. 13
  10. Arch

Author

Chris Dolan <[email protected]>

From perl-perl-critic 1.156-3 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.