X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2Fstrictures.pm;h=7c517b9ef9efdb84df1eaf0c8a9d10a63c10ca1d;hb=91b5f6b6b865cb0f86d7677e13643e7fac10dda5;hp=f979fa2b641f00dfa66499d9fac79fe063d517f0;hpb=bddcde2284b61783c010ede67cd122c17508d598;p=p5sagit%2Fstrictures.git diff --git a/lib/strictures.pm b/lib/strictures.pm index f979fa2..7c517b9 100644 --- a/lib/strictures.pm +++ b/lib/strictures.pm @@ -10,15 +10,14 @@ BEGIN { our $VERSION = '1.005002'; # 1.5.2 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(@_); }