foreach my $var (@list) -- $var 是一个引用?

2024-01-03

所以,我从来不知道这一点,我想得到一些澄清。我知道如果你这样做

foreach (@list){

如果您在该循环中更改 $_ ,它将影响实际数据。但是,我不知道如果你这样做

foreach my $var1 (@list){

如果您在循环中更改 $var1 ,它将更改实际数据。 :-/ 那么,有没有办法循环 @list 但保留变量的只读副本,或者如果更改则不会更改 @list 中的值的副本?


$var依次为每个项目指定别名。

See http://perldoc.perl.org/perlsyn.html#Foreach-Loops http://perldoc.perl.org/perlsyn.html#Foreach-Loops

如果 LIST 的任何元素是左值,则可以通过修改循环内的 VAR 来修改它。 相反,如果 LIST 的任何元素不是左值,则任何修改该元素的尝试 将失败。换句话说,foreach 循环索引变量是每个循环的隐式别名。 您要循环的列表中的项目。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

foreach my $var (@list) -- $var 是一个引用? 的相关文章

随机推荐

  • 预期输入有 4 个维度,但得到了具有形状的数组

    我有这个错误 检查输入时出错 预期 input 13 有 4 个维度 但得到形状为 7 100 100 的数组 对于以下代码 我应该如何重塑数组以适应 4 维 我搜索了它 但不理解以前的解决方案 如果不清楚卷积神经网络中非常常见的问题 请询
  • 如何从 C# 关闭而不保存 Excel /xlsm 工作簿(带自定义函数)

    我有一个 Excel 工作簿 其中包含自定义的非时间相关单元格函数 我正在使用 Interop Excel 从 C WindowsForms 应用程序中打开该工作簿 我从中读取了四个值 不执行显式更改 计算 然后从 C 关闭它 当我尝试直接
  • form_validation 类未加载(codeigniter)

    我的脚本无法加载 form validation 类 我从 autoload php 调用它 控制器的 构造方法和我打算使用的方法 IE 登录 方法 自动加载 php autoload libraries array database Lo
  • 如何在Python 3.1中进行Windows API调用?

    有没有人找到一个版本pywin32 http python net crew mhammond win32 对于Python 3 x 最新的版本似乎是 2 6 或者 我如何在 Python 3 1 中 滚动我自己的 Windows API
  • echo -e 在 Windows 中等效吗?

    Windows 中是否有等效的 Linux echo e 以便我可以使用 echo e xnnn 打印出 ASCII 代码为十六进制值 nnn 的字符 没有等效的函数 但您可以编写自己的函数 我会把问题分成两部分 将十六进制数转换为十进制数
  • 阻止备份到 iCloud,以下代码正确吗?

    我正在下载许多音频和视频文件并将它们存储在我的主目录中 现在我想 阻止备份到 iCloud 所以我为每个文件的网址添加了以下代码 BOOL addSkipBackupAttributeToItemAtURL NSURL URL const
  • 如何使用 CSP(内容安全策略)将 WebForms 项目中动态创建的脚本列入白名单?

    是否有一种安全的方法可以使用 CSP 内容安全策略 将 WebForms 项目中动态创建的脚本列入白名单 Using unsafe inline如下所示 它可以工作 但不推荐 context Response Headers Append
  • 如何在 SwiftUI 中对表行使用 Transferable

    在 WWDC 2022 上 Apple 推出了可转让 https developer apple com documentation CoreTransferable Transferable changes 3协议以简单的方式支持拖放操作
  • Swift Equatable 协议

    我正在阅读 Swift 教程 https www raywenderlich com 125311 make game like candy crush spritekit swift part 1 https www raywenderl
  • 使用 QGraphicsObject 与 QGraphicsItem 的惩罚?

    我目前有一个基于 QGraphicsItem 的项目层次结构 我想改为使用 QGraphicsObject 以便可以在我的项目上添加属性 我不会使用 QObject 的信号 槽或任何其他功能 我被告知你不应该从 QObject 派生 因为它
  • 在画布上播放视频并保留画布上的最后一帧/图像

    我使用以下脚本代码在画布上绘制视频 vPlayer on play function e var canvas canvas 0 var ctx canvas getContext 2d var this this canvas width
  • 如何在 F# 中启用 WinForms 或 WPF 项目?

    我安装了最新版本的 Visual Studio 2017 我选择了F 语言支持和F 桌面支持 重新启动并转到 文件 gt 新建项目 后 我希望看到一个为 F 启动新的 WPF 或 WinForms 项目的选项 但我没有任何此类选项 只有控制
  • 将 pandas 数据框转换为唯一元组列表

    将 pandas 数据框转换为唯一元组列表的最有效方法是什么 在下面的代码中 我尝试提取包含所有唯一的元组列表PostalCode and Age from typing import NamedTuple Sequence Tuple i
  • Boost::通过 id 处理子进程

    如何在 on exit 函数中获取 child id bp child c args ios bp on exit int e std error code ec result e ios stop need c id 或者如果孩子正在按
  • 你能告诉我如何用正则表达式替换吗

    你能告诉我如何用 preg replace 替换字符串吗 需要正则表达式 user parent id action step 1 在数组的等效值处 array parent id gt 32 action gt some To make
  • RxJS:Observable.never() 保持订阅状态

    我正在使用 rxjs 5 5 6 我创建了这段代码来展示该行为 Observable of 1 2 do a gt console log a let d string null let r d length it raises an nu
  • Android Studio 重复文件

    我的源代码中出现重复的文件 这种情况在 Android Studio 中经常发生 并且所有类型的文件都会发生这种情况 而不仅仅是 gradle 文件 当我签出新分支或切换分支时 通常会发生这种情况 造成这种情况的原因是什么以及如何预防 请注
  • 如何将字符串转换为 JavaScript 函数调用? [复制]

    这个问题在这里已经有答案了 我得到一个像这样的字符串 settings functionName t parentNode id 我想将其转换为函数调用 如下所示 clickedOnItem IdofParent 当然 这必须在 JavaS
  • 如何为 RestController 启用 GZIP? [复制]

    这个问题在这里已经有答案了 我有一个简单的REST控制器使用spring 返回的GZIP响应如何application xml流是否启用 RestController public class MyRest RequestMapping m
  • foreach my $var (@list) -- $var 是一个引用?

    所以 我从来不知道这一点 我想得到一些澄清 我知道如果你这样做 foreach list 如果您在该循环中更改 它将影响实际数据 但是 我不知道如果你这样做 foreach my var1 list 如果您在循环中更改 var1 它将更改实