gpt4 book ai didi

perl - 如何使用 for...each 循环重置多个 Perl 散列?

转载 作者:行者123 更新时间:2023-12-01 10:01:05 25 4
gpt4 key购买 nike

我需要在 mod_perl 脚本中重置一些全局哈希变量。

这有效 - 如所描述的那样这里:https://stackoverflow.com/a/4090870

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

这似乎不起作用:

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

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

(我通常会尝试限定变量的范围,所以上面的内容不是必需的,但在这种情况下,恐怕它必须是这样的。另外,我可能缺少对如何 for...each 的一些基本理解循环在 Perl 中工作,请赐教。)

最佳答案

你可以用引用来做:

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

但这并没有回答您关于为什么没有引用它就不能工作的问题:

当将散列放入您的 for (%h) 语句时,散列在列表上下文中隐式计算。

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

关于perl - 如何使用 for...each 循环重置多个 Perl 散列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16033479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com