- The first package specific_name statement creates a namespace and enters it.
- Subsequent invocations simply reenter the namespace.
While you may view that as conceptually accurate, that is not really what happens, hence my confusion above. I don't think I've ever come across this being an issue, not least because I would imagine that if you called code on a class you thought had declared, when in fact you had redeclared an existing class, something would break rather loudly.
I can't think of any obvious way to do this within perl, but as you say, it would probably fairly simple just to hack the perl source and recompile.