##
try(sub { ... }, catch(sub { ... }));
####
$ perl -wle'
sub f { my $x = "abc"; sub { eval q{"[$x]"} } };
print f()->();
'
Variable "$x" is not available at (eval 1) line 1.
Use of uninitialized value in print at -e line 1.
[]
####
$ perl -wle'
sub f { my $x = "abc"; sub { $x if 0; eval q{"[$x]"} } };
print f()->();
'
[abc]