fix test for t/xt/lib/blib to only trigger on directories
[p5sagit/strictures.git] / lib / strictures.pm
index f4577f8..05d7d9f 100644 (file)
@@ -7,18 +7,17 @@ BEGIN {
   *_PERL_LT_5_8_4 = ($] < 5.008004) ? sub(){1} : sub(){0};
 }
 
-our $VERSION = '1.004004'; # 1.4.4
+our $VERSION = '1.005005';
 
 sub VERSION {
-  for ($_[1]) {
+  my ($class, $version) = @_;
+  for ($version) {
     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.
+  # passing undef here may either warn or die depending on the version of perl.
+  # we can't match the caller's warning state in this case, so just disable the
+  # warning.
   no warnings 'uninitialized';
   shift->SUPER::VERSION(@_);
 }
@@ -41,7 +40,7 @@ sub import {
       }
       $ENV{PERL_STRICTURES_EXTRA};
     } elsif (! _PERL_LT_5_8_4) {
-      !!((caller)[1] =~ /^(?:t|xt|lib|blib)/
+      !!((caller)[1] =~ /^(?:t|xt|lib|blib)[\\\/]/
          and $Smells_Like_VCS)
     }
   };