STATUS_POSIX_SET(SvIOK(sv) ? SvIVX(sv) : sv_2iv(sv));
break;
case '!':
- SETERRNO(SvIOK(sv) ? SvIVX(sv) : sv_2iv(sv),
+ SETERRNO(SvIOK(sv) ? SvIVX(sv) : SvOK(sv) ? sv_2iv(sv) : 0,
(SvIV(sv) == EVMSERR) ? 4 : vaxc$errno);
break;
case '<':
$Is_Dos = $^O eq 'dos';
$PERL = ($Is_MSWin32 ? '.\perl' : './perl');
-print "1..34\n";
+print "1..35\n";
eval '$ENV{"FOO"} = "hi there";'; # check that ENV is inited inside eval
if ($Is_MSWin32) { ok 1, `cmd /x /c set FOO` eq "FOO=hi there\n"; }
: (`echo \$NoNeSuCh` eq "foo\n") );
}
+{
+ local $SIG{'__WARN__'} = sub { print "not " };
+ $! = undef;
+ print "ok 31\n";
+}
+
# test case-insignificance of %ENV (these tests must be enabled only
# when perl is compiled with -DENV_IS_CASELESS)
if ($Is_MSWin32) {
%ENV = ();
$ENV{'Foo'} = 'bar';
$ENV{'fOo'} = 'baz';
- ok 31, (scalar(keys(%ENV)) == 1);
- ok 32, exists($ENV{'FOo'});
- ok 33, (delete($ENV{'foO'}) eq 'baz');
- ok 34, (scalar(keys(%ENV)) == 0);
+ ok 32, (scalar(keys(%ENV)) == 1);
+ ok 33, exists($ENV{'FOo'});
+ ok 34, (delete($ENV{'foO'}) eq 'baz');
+ ok 35, (scalar(keys(%ENV)) == 0);
}
else {
- ok "31 # skipped",1;
ok "32 # skipped",1;
ok "33 # skipped",1;
ok "34 # skipped",1;
+ ok "35 # skipped",1;
}