GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Perl::Critic::Policy::Documentation::RequireEndBeforeLastPod(3) User Contributed Perl Documentation Perl::Critic::Policy::Documentation::RequireEndBeforeLastPod(3)

Perl::Critic::Policy::Documentation::RequireEndBeforeLastPod - require __END__ before POD at end of file

This policy is part of the "Perl::Critic::Pulp" add-on. It requires that you put an "__END__" before POD which is at the end of a file. For example,

    program_code();
    1;
    __END__     # good

    =head1 NAME
    ...

and not merely

    program_code();
    1;          # bad

    =head1 NAME
    ...

This is primarily a matter of personal preference, so the policy is low severity and only under the "cosmetic" theme (see "POLICY THEMES" in Perl::Critic). An "__END__" like this has no effect on execution, but it's a fairly common convention since it's a good human indication you mean the code to end there, and it stops Perl parsing through the POD which may save a few nanoseconds.

This policy is looser than "Documentation::RequirePodAtEnd". This policy allows POD to be anywhere in among the code, the requirement is only that if the file ends with POD then you should have an "__END__" between the last code and last POD.

A file of all POD, or all code, or which ends with code, is ok. Ending with code is usual if you write your POD at the start of the file or in among the functions etc,

    =pod

    And that's all.

    =cut

    cleanup ();
    exit 0;     # good

A file using "__DATA__" is always ok, since you can't have "__END__" followed by "__DATA__", wherever you want your POD. If the "__DATA__" is in fact "SelfLoader" code then it can helpfully have an "__END__" within it, but as of "perlcritic" version 1.092 no checks at all are applied to SelfLoader sections.

As always if you don't care about "__END__" you can disable "RequireEndBeforeLastPod" from your .perlcriticrc in the usual way (see "CONFIGURATION" in Perl::Critic),

    [-Documentation::RequireEndBeforeLastPod]

Perl::Critic::Pulp, Perl::Critic, Perl::Critic::Policy::Documentation::RequirePodAtEnd

<http://user42.tuxfamily.org/perl-critic-pulp/index.html>

Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, 2021 Kevin Ryde

Perl-Critic-Pulp 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.

Perl-Critic-Pulp 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 Perl-Critic-Pulp. If not, see <http://www.gnu.org/licenses/>.

2021-02-27 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.