use Symbol;
-print "1..33\n";
+print "1..38\n";
my $fh = gensym;
$r = print STDERR @expect[2,3];
ok($r == 1);
}
+
+{
+ # Test for change #11536
+ package Foo;
+ use strict;
+ sub TIEHANDLE { bless {} }
+ my $cnt = 'a';
+ sub READ {
+ $_[1] = $cnt++;
+ 1;
+ }
+ sub do_read {
+ my $fh = shift;
+ read $fh, my $buff, 1;
+ main::ok(1);
+ }
+ $|=1;
+ tie *STDIN, 'Foo';
+ read STDIN, my $buff, 1;
+ main::ok(1);
+ do_read(\*STDIN);
+ untie *STDIN;
+}
+
+
+{
+ # test for change 11639: Can't localize *FH, then tie it
+ {
+ local *foo;
+ tie %foo, 'Blah';
+ }
+ ok(!tied %foo);
+
+ {
+ local *bar;
+ tie @bar, 'Blah';
+ }
+ ok(!tied @bar);
+
+ {
+ local *BAZ;
+ tie *BAZ, 'Blah';
+ }
+ ok(!tied *BAZ);
+
+ package Blah;
+
+ sub TIEHANDLE {bless {}}
+ sub TIEHASH {bless {}}
+ sub TIEARRAY {bless {}}
+}
+