$Is_VMS = $^O eq 'VMS';
$Is_MacOS = $^O eq 'MacOS';
-plan tests => 106;
+plan tests => 108;
my $Perl = which_perl();
}
# used to try to open a file [perl #17830]
- ok( open(my $stdin, "<&", fileno STDIN), 'dup fileno(STDIN) into lexical fh');
+ ok( open(my $stdin, "<&", fileno STDIN), 'dup fileno(STDIN) into lexical fh') or _diag $!;
}
SKIP: {
fresh_perl_like('open m', qr/^Search pattern not terminated at/,
{ stderr => 1 }, 'open m test');
+fresh_perl_is(
+ 'sub f { open(my $fh, "xxx"); $fh = "f"; } f; f;print "ok"',
+ 'ok', { stderr => 1 },
+ '#29102: Crash on assignment to lexical filehandle');
+
+# [perl #31767] Using $1 as a filehandle via open $1, "file" doesn't raise
+# an exception
+
+eval { open $99, "foo" };
+like($@, qr/Modification of a read-only value attempted/, "readonly fh");