$INC{"feature.pm"} = 1; # so we don't attempt to load feature.pm
}
-print "1..59\n";
+print "1..63\n";
# Can't require test.pl, as we're testing the use/require mechanism here.
eval "no 5.000;";
like ($@, qr/Perls since v5\.0\.0 too modern--this is \Q$^V\E, stopped/);
+eval "use 5.6;";
+like ($@, qr/Perl v5\.600\.0 required \(did you mean v5\.6\.0\?\)--this is only \Q$^V\E, stopped/);
+
+eval "use 5.8;";
+like ($@, qr/Perl v5\.800\.0 required \(did you mean v5\.8\.0\?\)--this is only \Q$^V\E, stopped/);
+
+eval "use 5.9;";
+like ($@, qr/Perl v5\.900\.0 required \(did you mean v5\.9\.0\?\)--this is only \Q$^V\E, stopped/);
+
+eval "use 5.10;";
+like ($@, qr/Perl v5\.100\.0 required \(did you mean v5\.10\.0\?\)--this is only \Q$^V\E, stopped/);
+
eval sprintf "use %.6f;", $];
is ($@, '');
is ($@, '');
eval "use lib v100.105";
- like ($@, qr/lib version 100.105 \(v100\.105\.0\) required--this is only version 35.360 \(v35\.360\.0\)/);
+ like ($@, qr/lib version v100.105.0 required--this is only version v35\.360\.0/);
eval "use lib 33.55";
is ($@, '');
eval "use lib 100.105";
- like ($@, qr/lib version 100.105 \(v100\.105\.0\) required--this is only version 35.360 \(v35\.360\.0\)/);
+ like ($@, qr/lib version 100.105 required--this is only version 35.36/);
local $lib::VERSION = '35.36';
eval "use lib v33.55";
like ($@, '');
eval "use lib v100.105";
- like ($@, qr/lib version 100.105 \(v100\.105\.0\) required--this is only version 35.360 \(v35\.360\.0\)/);
+ like ($@, qr/lib version v100.105.0 required--this is only version v35\.360\.0/);
eval "use lib 33.55";
is ($@, '');
eval "use lib 100.105";
- like ($@, qr/lib version 100.105 \(v100\.105\.0\) required--this is only version 35.360 \(v35\.360\.0\)/);
+ like ($@, qr/lib version 100.105 required--this is only version 35.36/);
local $lib::VERSION = v35.36;
eval "use lib v33.55";
is ($@, '');
eval "use lib v100.105";
- like ($@, qr/lib version 100.105 \(v100\.105\.0\) required--this is only version 35.036000 \(v35\.36\.0\)/);
+ like ($@, qr/lib version v100.105.0 required--this is only version v35\.36\.0/);
eval "use lib 33.55";
is ($@, '');
eval "use lib 100.105";
- like ($@, qr/lib version 100.105 \(v100\.105\.0\) required--this is only version 35.036000 \(v35\.36\.0\)/);
+ like ($@, qr/lib version 100.105 required--this is only version v35.36/);
}
{
# Regression test for patch 14937:
# Check that a .pm file with no package or VERSION doesn't core.
- open F, ">xxx.pm" or die "Cannot open xxx.pm: $!\n";
+ open F, ">xxx$$.pm" or die "Cannot open xxx$$.pm: $!\n";
print F "1;\n";
close F;
- eval "use lib '.'; use xxx 3;";
- like ($@, qr/^xxx defines neither package nor VERSION--version check failed at/);
- unlink 'xxx.pm';
+ eval "use lib '.'; use xxx$$ 3;";
+ like ($@, qr/^xxx$$ defines neither package nor VERSION--version check failed at/);
+ unlink "xxx$$.pm";
}
my @ver = split /\./, sprintf "%vd", $^V;
if ($index < 0) {
# Jiggle one of the parts down
--$parts[-$index - 1];
+ if ($parts[-$index - 1] < 0) {
+ # perl's version number ends with '.0'
+ $parts[-$index - 1] = 0;
+ $parts[-$index - 2] -= 2;
+ }
} else {
# Jiggle one of the parts up
++$parts[$index - 1];