{
local $SIG{__WARN__} = sub { };
- ok !eval { $eval->eval('$x') }, 'Unable to use undeclared variable';
- like $@, qr/requires explicit package/, 'Correct message in $@';
+ ok !eval { $eval->eval('${"x"}') }, 'Unable to use undeclared variable';
+ like $@, qr/Can't use string .* as a SCALAR ref/,
+ 'Correct message in $@';
}
is(
is $eval->hints->{q{%^H}}->{hint_hash_pragma}, 'param',
"Lexical pragma captured";
+$eval->eval('my $x = 1');
+is_deeply(
+ $eval->lexicals->{'$x'}, \1,
+ 'Lexical captured when preserving hints',
+);
+
done_testing;