为什么自动复活在 'for' 有效?

Why autovivification works at 'for'?

我有下一个代码:

print   for @{ $events->{ $name } };

$events 为空散列时,我得到 $name 键值是空数组 []

尽管我只是访问元素但未向其分配任何内容,但为什么自动生成仍然有效?

分配不会自动生成;评估为左值,以便您可以分配。

Foreach 的列表表达式被评估为左值以允许 $_ = 1 for @a;