in reply to How to use Safe to compile anonymous subs

I'm curious just what version of Safe you're using, given the usage problems.

Can't use ":default" as root name at line 10

Anyways, it doesn't work like that. When you reval($code), it analyzes the code path it has to build. Look at the optree for the sub you generate. Using a subroutine is part of :base_core, so no problem there.

If you remove the sub{} wrapper in $code you can get closer to understanding your problems.