解决方法
我想你可以通过改变C级别的PL_curstash和PL_curstname来做到这一点.
PL_curstash = gv_stashpvs("Some::Package",GV_ADD); sv_setpvs(PL_curstname,"Some::Package");
PL_curstash是编译期间当前包的存储,PL_curstname是其名称.
更新:
我发现这个问题很有趣,并将解决方案实现为Devel :: ChangePackage.结果我最初建议的工作原理.您可以从http://github.com/rafl/devel-changepackage获得它,或者在更新后从您附近的CPAN镜像获取它.