加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何用for …每个循环重置多个Perl哈希?

发布时间:2020-12-16 06:06:29 所属栏目:大数据 来源:网络整理
导读:我需要在mod_perl脚本中重置一些全局哈希变量. 这有效 – 如上所述.这里:https://stackoverflow.com/a/4090870 $_ = '' for ($a,$b,$c);$_ = 0 for ($d,$e,$f); 这似乎不起作用: $_ = () for (%a,%b,%c); 为什么它不适用于哈希?可以吗?数组怎么样? (我
我需要在mod_perl脚本中重置一些全局哈希变量.

这有效 – 如上所述.这里:https://stackoverflow.com/a/4090870

$_ = '' for ($a,$b,$c);
$_ = 0 for ($d,$e,$f);

这似乎不起作用:

$_ = () for (%a,%b,%c);

为什么它不适用于哈希?可以吗?数组怎么样?

(我通常会尝试对变量进行范围调整,因此上面的内容不是必需的,但在这种情况下,我担心它必须是这样的.另外,我可能会遗漏一些基本的理解…每个循环如何工作Perl,请赐教.)

解决方法

你可以用引用来做到这一点:

%$_ = () for (%a,%b,%c);

但这并没有回答你的问题,为什么没有引用它不起作用:

将哈希值放入for(%h)-statement时,哈希值会在列表上下文中隐式计算.

(编辑:我最初说的是标量上下文,后来实现了列表上下文并调整了答案)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读