- my $res = eval { cast $a, $wiz, sub { 5 }->() };
- is($@, '', "cast in thread $tid doesn't croak");
- is($c, 0, "cast in thread $tid doesn't trigger magic");
- my $b;
- eval { $b = $a };
- is($@, '', "get in thread $tid doesn't croak");
- is($b, 3, "get in thread $tid returns the right thing");
- is($c, 1, "get in thread $tid triggers magic");
- my $d = eval { getdata $a, $wiz };
- is($@, '', "getdata in thread $tid doesn't croak");
- is($d, 5 + $tid, "getdata in thread $tid returns the right thing");
- is($c, 1, "getdata in thread $tid doesn't trigger magic");
- eval { $a = 9 };
- is($@, '', "set in thread $tid (check opname) doesn't croak");
- if ($dispell) {
- $res = eval { dispell $a, $wiz };
- is($@, '', "dispell in thread $tid doesn't croak");
- is($c, 1, "dispell in thread $tid doesn't trigger magic");
- undef $b;
+
+ {
+ local $@;
+ my $res = eval { cast $a, $wiz, sub { 5 }->() };
+ is $@, '', "cast in thread $tid doesn't croak";
+ is $c, 0, "cast in thread $tid doesn't trigger magic";
+ }
+
+ {
+ local $@;
+ my $b;