convert to Distar, fixup author
[p5sagit/strictures.git] / lib / strictures.pm
index 63c1af5..3c3c005 100644 (file)
@@ -3,20 +3,26 @@ package strictures;
 use strict;
 use warnings FATAL => 'all';
 
-our $VERSION = '1.001000'; # 1.1.0
+our $VERSION = '1.002000'; # 1.2.0
 
 sub VERSION {
   for ($_[1]) {
     last unless defined && !ref && int != 1;
     die "Major version specified as $_ - this is strictures version 1";
   }
+  # disable this since Foo->VERSION(undef) correctly returns the version
+  # and that can happen either if our caller passes undef explicitly or
+  # because the for above autovivified $_[1] - I could make it stop but
+  # it's pointless since we don't want to blow up if the caller does
+  # something valid either.
+  no warnings 'uninitialized';
   shift->SUPER::VERSION(@_);
 }
 
 sub import {
   strict->import;
   warnings->import(FATAL => 'all');
-  my $do_indirect = do {
+  my $extra_tests = do {
     if (exists $ENV{PERL_STRICTURES_EXTRA}) {
       $ENV{PERL_STRICTURES_EXTRA}
     } else {
@@ -24,11 +30,26 @@ sub import {
          and (-e '.git' or -e '.svn'))
     }
   };
-  if ($do_indirect) {
-    if (eval { require indirect; 1 }) {
+  if ($extra_tests) {
+    if (eval {
+          require indirect;
+          require multidimensional;
+          require bareword::filehandles;
+          1
+        }) {
       indirect->unimport(':fatal');
+      multidimensional->unimport;
+      bareword::filehandles->unimport;
     } else {
-      die "strictures.pm extra testing active but couldn't load indirect.pm: $@";
+      die "strictures.pm extra testing active but couldn't load modules.
+Extra testing is auto-enabled in checkouts only, so if you're the author
+of a strictures using module you need to run:
+
+  cpan indirect multidimensional bareword::filehandles
+
+but these modules are not required by your users.
+
+Error loading modules was: $@";
     }
   }
 }
@@ -64,13 +85,15 @@ 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 INDIRECT IS REQUIRED FOR AUTHORS OF STRICTURES USING
-CODE - but not by end users thereof.
+Be aware: THIS MEANS THE EXTRA TEST MODULES ARE REQUIRED FOR AUTHORS OF
+STRICTURES USING CODE - but not by end users thereof.
 
 =head1 DESCRIPTION
 
@@ -138,7 +161,7 @@ Gitweb is on http://git.shadowcat.co.uk/ and the clone URL is:
 
 =head1 AUTHOR
 
-Matt S. Trout <mst@shadowcat.co.uk>
+mst - Matt S. Trout (cpan:MSTROUT) <mst@shadowcat.co.uk>
 
 =head1 CONTRIBUTORS