gpt4 book ai didi

perl - 为什么在这种情况下 Perl 会自动激活?

转载 作者:行者123 更新时间:2023-12-04 22:37:59 25 4
gpt4 key购买 nike

为什么$a成为一个数组引用?我没有强制它。

perl -MData::Dumper -e 'use strict; 1 for @$a; print Dumper $a'
$VAR1 = [];

最佳答案

这是因为for循环处理 @$a 的内容作为左值 - 您可以分配给的东西。请记住 for将数组的内容别名为 $_ .似乎是在 @$a 中寻找可别名内容的行为, 足以引起自动激活,即使没有要别名的内容。

这种混叠效果也是一致的。以下也导致自动激活:

  • map {stuff} @$a;
  • grep {stuff} @$a;
  • a_subroutine( @$a);

  • 如果你想管理自动激活,你可以使用 the eponymous pragma来实现词汇控制。

    关于perl - 为什么在这种情况下 Perl 会自动激活?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2206836/

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