11 eval "use 5.000"; # implicit semicolon
16 print "ok ",$i++,"\n";
23 print "ok ",$i++,"\n";
26 unless ($@ =~ /Perl v6\.0\.0 required--this is only \Q$^V\E, stopped/) {
29 print "ok ",$i++,"\n";
36 print "ok ",$i++,"\n";
39 unless ($@ =~ /Perls since v5\.0\.0 too modern--this is \Q$^V\E, stopped/) {
42 print "ok ",$i++,"\n";
44 eval sprintf "use %.6f;", $];
49 print "ok ",$i++,"\n";
52 eval sprintf "use %.6f;", $] - 0.000001;
57 print "ok ",$i++,"\n";
59 eval sprintf("use %.6f;", $] + 1);
63 print "ok ",$i++,"\n";
65 eval sprintf "use %.6f;", $] + 0.00001;
69 print "ok ",$i++,"\n";
72 { use lib } # check that subparse saves pending tokens
74 local $lib::VERSION = 1.0;
81 print "ok ",$i++,"\n";
88 print "ok ",$i++,"\n";
94 print "ok ",$i++,"\n";
97 eval "use lib 0.9 qw(fred)";
102 print "ok ",$i++,"\n";
104 print "not " unless ($INC[0] eq "fred" || ($^O eq 'MacOS' && $INC[0] eq ":fred:"));
105 print "ok ",$i++,"\n";
107 eval "use lib 1.0 qw(joe)";
109 print STDERR $@,"\n";
112 print "ok ",$i++,"\n";
114 print "not " unless ($INC[0] eq "joe" || ($^O eq 'MacOS' && $INC[0] eq ":joe:"));
115 print "ok ",$i++,"\n";
117 eval "use lib 1.01 qw(freda)";
121 print "ok ",$i++,"\n";
123 print "not " if ($INC[0] eq "freda" || ($^O eq 'MacOS' && $INC[0] eq ":freda:"));
124 print "ok ",$i++,"\n";
127 local $lib::VERSION = 35.36;
128 eval "use lib v33.55";
130 print "ok ",$i++,"\n";
132 eval "use lib v100.105";
133 unless ($@ =~ /lib version 100.105 \(v100\.105\.0\) required--this is only version 35.360 \(v35\.360\.0\)/) {
136 print "ok ",$i++,"\n";
138 eval "use lib 33.55";
140 print "ok ",$i++,"\n";
142 eval "use lib 100.105";
143 unless ($@ =~ /lib version 100.105 \(v100\.105\.0\) required--this is only version 35.360 \(v35\.360\.0\)/) {
146 print "ok ",$i++,"\n";
148 local $lib::VERSION = '35.36';
149 eval "use lib v33.55";
151 print "ok ",$i++,"\n";
153 eval "use lib v100.105";
154 unless ($@ =~ /lib version 100.105 \(v100\.105\.0\) required--this is only version 35.360 \(v35\.360\.0\)/) {
157 print "ok ",$i++,"\n";
159 eval "use lib 33.55";
161 print "ok ",$i++,"\n";
163 eval "use lib 100.105";
164 unless ($@ =~ /lib version 100.105 \(v100\.105\.0\) required--this is only version 35.360 \(v35\.360\.0\)/) {
167 print "ok ",$i++,"\n";
169 local $lib::VERSION = v35.36;
170 eval "use lib v33.55";
172 print "ok ",$i++,"\n";
174 eval "use lib v100.105";
175 unless ($@ =~ /lib version 100.105 \(v100\.105\.0\) required--this is only version 35.036000 \(v35\.36\.0\)/) {
178 print "ok ",$i++,"\n";
180 eval "use lib 33.55";
182 print "ok ",$i++,"\n";
184 eval "use lib 100.105";
185 unless ($@ =~ /lib version 100.105 \(v100\.105\.0\) required--this is only version 35.036000 \(v35\.36\.0\)/) {
188 print "ok ",$i++,"\n";
193 # Regression test for patch 14937:
194 # Check that a .pm file with no package or VERSION doesn't core.
195 open F, ">xxx.pm" or die "Cannot open xxx.pm: $!\n";
198 eval "use lib '.'; use xxx 3;";
199 unless ($@ =~ /^xxx defines neither package nor VERSION--version check failed at/) {
202 print "ok ",$i++,"\n";