原因是:try 的虚参 c,与 global 里的 c ,是两个数组,但用同一个名字。重名冲突了。我不知道你的意图是什么,猜测的解决方法是(选1种):1.把虚参改名为d,即:改成subroutine try(d)2.把global里的c改名,即: subroutine try(c) use global , d =>c以上两种方法避免了重名,但你需要在 try 里面重新定义多出来的数组。第三个办法:3.取消 try 的虚参这样就只有一个数组,不存在重名冲突了
额