%ENV does come from the environment. But that doesn't mean that the environment you see from the shell is the same environment as perl sees. While not common, C libraries can add things to the environment as they initialize, as can perl extensions and if your old perl is statically linked to things (I'd suspect at least Java in some form or fashion from the output) then that may well be where they're coming from. Check your old perl to see what extensions are in statically.