my @lexicals = map "my \$$_", qw/foo bar baz/; my $code = '$foo = 42; $bar = 13; sub { $baz += ++$bar + ++$foo };'; my $result = eval join(";", @lexicals, $code);