strictures


SYNOPSIS
         use strictures 1;

       is equivalent to

         use strict;
         use warnings FATAL => 'all';

       except when called from a file where $0 matches:

         /^x?t\/.*(?:load|compile|coverage|use_ok).*\.t$/

       and when either '.git' or '.svn' is present in the current directory
       (with the intention of only forcing extra tests on the author side) -
       or when the PERL_STRICTURES_EXTRA environment variable is set, in which
       case

         use strictures 1;

       is equivalent to

         use strict;
         use warnings FATAL => 'all';
         no indirect 'fatal';
         no multidimensional;
         no bareword::filehandles;

       Note that _EXTRA may at some point add even more tests, with only a
       minor version increase, but any changes to the effect of 'use
       strictures' in normal mode will involve a major version bump.

       Be aware: THIS MEANS THE EXTRA TEST MODULES ARE REQUIRED FOR AUTHORS OF
       STRICTURES USING CODE - but not by end users thereof.

DESCRIPTION
       I've been writing the equivalent of this module at the top of my code
       for about a year now. I figured it was time to make it shorter.

       Things like the importer in 'use Moose' don't help me because they turn
       warnings on but don't make them fatal - which from my point of view is
       useless because I want an exception to tell me my code isn't warnings
       clean.

       Any time I see a warning from my code, that indicates a mistake.

       Any time my code encounters a mistake, I want a crash - not spew to
       STDERR and then unknown (and probably undesired) subsequent behaviour.

       I also want to ensure that obvious coding mistakes, like indirect
       object syntax (and not so obvious mistakes that cause things to
       accidentally compile as such) get caught, but not at the cost of an XS
       dependency and not at the cost of blowing things up on another machine.

       that will constitute a major version increase - and the code already
       checks when its version is tested to ensure that

         use strictures 1;

       will continue to only introduce the current set of strictures even if
       2.0 is installed.

METHODS
   import
       This method does the setup work described above in "DESCRIPTION"

   VERSION
       This method traps the strictures->VERSION(1) call produced by a use
       line with a version number on it and does the version check.

COMMUNITY AND SUPPORT
   IRC channel
       irc.perl.org #toolchain

       (or bug 'mst' in query on there or freenode)

   Git repository
       Gitweb is on http://git.shadowcat.co.uk/ and the clone URL is:

         git clone git://git.shadowcat.co.uk/p5sagit/strictures.git

AUTHOR
       mst - Matt S. Trout (cpan:MSTROUT) <mst@shadowcat.co.uk>

CONTRIBUTORS
       None required yet. Maybe this module is perfect (hahahahaha ...).

COPYRIGHT
       Copyright (c) 2010 the strictures "AUTHOR" and "CONTRIBUTORS" as listed
       above.

LICENSE
       This library is free software and may be distributed under the same
       terms as perl itself.



perl v5.10.1                      2011-02-25                   strictures(3pm)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2017 Hurricane Electric. All Rights Reserved.