我有两个通过 fast_cgi 调用的嵌套包。从第一个包中,我从第二个包中调用一个方法,如下所示:
$MyScalar = "A Value";
MyPackage::Inner->InvokeMe($MyScalar);
从我的另一个包中,我正在展开如下参数:
sub ZonesByCustomer($)
{
my $MyParameter = @_[0];
print $MyParameter;
}
我期望的是A Value
打印出来,但实际打印出来的是MyPackage::Inner
. A Value
实际上是存储在@_[1]
.
这似乎令人困惑。为什么包名称作为参数返回?
这是从我的代码中抽象出来的。如果我在这里遗漏了一些必不可少的东西,我可以提供一个稍微复杂一点的版本。