首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >引用上的键的参数类型必须是unblessed hashref或arrayref

引用上的键的参数类型必须是unblessed hashref或arrayref
EN

Stack Overflow用户
提问于 2013-06-13 13:58:00
回答 2查看 13.5K关注 0票数 6
代码语言:javascript
运行
复制
    if((scalar keys ($this->{'libraries'}->{$y}->{'cellHash'})) == 0){

在这一行,我得到了“引用上的键的参数类型必须是不受祝福的hashref或arrayref”错误。你能帮我解决这个问题吗?由于显而易见的原因,我不会发布代码。

EN

Stack Overflow用户

发布于 2013-06-13 14:07:15

keys获取引用的新功能被设计破坏了。Perl的开发团队不知道它应该如何处理一些引用,所以它只适用于一些引用。因此,keys接受引用的能力被记录为experimental。由于无法解决此问题,此“功能”已在5.24中删除。您不应使用它,因为当您升级perl时,您的代码将停止工作。

您可能遇到过keys在提供引用时无法工作的情况。请提供散列或数组。在这种情况下,您可能需要

代码语言:javascript
运行
复制
keys(%{ $this->{'libraries'}->{$y}->{'cellHash'} })

整个事情可以写成:

代码语言:javascript
运行
复制
if (!keys(%{ $this->{libraries}{$y}{cellHash} })) { ... }
票数 9
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17080143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档