+
+unshift @INC, '.';
+
+if (open(DO, ">$$.16")) {
+ print DO "print qq{ok 16\n} if defined wantarray && not wantarray\n";
+ close DO;
+}
+
+my $a = do "$$.16";
+
+if (open(DO, ">$$.17")) {
+ print DO "print qq{ok 17\n} if defined wantarray && wantarray\n";
+ close DO;
+}
+
+my @a = do "$$.17";
+
+if (open(DO, ">$$.18")) {
+ print DO "print qq{ok 18\n} if not defined wantarray\n";
+ close DO;
+}
+
+do "$$.18";
+
+END {
+ 1 while unlink("$$.16", "$$.17", "$$.18");
+}