if((scalar keys ($this->{'libraries'}->{$y}->{'cellHash'})) == 0){在这一行,我得到了“引用上的键的参数类型必须是不受祝福的hashref或arrayref”错误。你能帮我解决这个问题吗?由于显而易见的原因,我不会发布代码。
发布于 2013-06-13 14:07:15
keys获取引用的新功能被设计破坏了。Perl的开发团队不知道它应该如何处理一些引用,所以它只适用于一些引用。因此,keys接受引用的能力被记录为experimental。由于无法解决此问题,此“功能”已在5.24中删除。您不应使用它,因为当您升级perl时,您的代码将停止工作。
您可能遇到过keys在提供引用时无法工作的情况。请提供散列或数组。在这种情况下,您可能需要
keys(%{ $this->{'libraries'}->{$y}->{'cellHash'} })整个事情可以写成:
if (!keys(%{ $this->{libraries}{$y}{cellHash} })) { ... }https://stackoverflow.com/questions/17080143
复制相似问题