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 是一个引用? 的相关文章

  • 在 Objective-C 中使用 perl?

    CPAN 有大量非常有用的库 除了将它们移植到 Objective C 之外 是否还有在 iOS 上将 Perl 代码嵌入到 Objective C 中的方法 我对使用特别感兴趣电子表格 阅读 http kobesearch cpan or
  • Perl:Chomping字符串后,它不打印字符串的值

    所以我目前正在尝试编写一个 perl 脚本来读取一个文件并写入另一个文件 目前 我遇到的问题是从解析的行中删除换行符 我输入这样的文件 BetteDavisFilms txt 1 Wicked Stepmother 1989 as Mira
  • 在 Perl 中优雅地确定系统架构

    我正在寻找一种简单的方法来确定 Perl 5 中的系统是 32 位还是 64 位 我已阅读perlvar来回翻阅手册页 并没有发现包含系统 CPU 架构的变量 编译 Perl 的 CPU 架构将足够接近 这是我最接近的 chomp my a
  • 结束 perl 脚本而不等待系统调用返回

    我在 Linux Ubuntu 14 04 上运行一个简单的 apache Web 服务器 并使用 perl CGI 脚本处理一些请求 该脚本使用以下命令启动系统命令system函数 但我希望它立即返回 无论系统调用的结果如何 我一直在传递
  • Perl LWP::简单 HTTPS 错误

    我正在尝试获取网站的内容并打印 该代码按照我希望的方式在常规 HTTP 网站上运行 但它不适用于 HTTPS 我已经查找了此问题的修复程序 但它们在我的程序中不起作用 这是我目前拥有的代码 usr bin perl use strict u
  • Perl6:我怎样才能使所有警告都是致命的?

    我怎样才能使 Perl6 中的所有警告都是致命的 以便脚本在屏幕上出现警告时立即终止 CONTROL when CX Warn note exit 1 更频繁地死亡 该脚本终止于CONTROL when CX Warn note exit
  • 如何在没有循环的情况下初始化哈希中的值?

    我正在尝试找出一种无需经过循环即可初始化哈希的方法 我希望使用切片来实现这一点 但它似乎没有产生预期的结果 考虑以下代码 usr bin perl use Data Dumper my hash hash currency symbol B
  • 如何在正则表达式中匹配“/*”?

    stuff d learning perl tmp txt open STUFF stuff or die Cannot open stuff for read while
  • 为什么我不能执行 foreach (var Item in DataTable.Rows)?

    我无法执行以下操作是否有原因 foreach var Item in DataTable Rows 而不是必须做 foreach DataRow Item in DataTable Rows 我本以为这是可能的 就像其他数据类型一样 例如
  • PHP 如果没有已知索引,如何访问多维数组的所有元素?

    我在这里使用了代码的修改版本确定 PHP 类文件中定义了哪些类 https stackoverflow com questions 928928 determining what classes are defined in a php c
  • 遍历/循环 XSL 键:如何?

    有没有办法遍历一个键并输出它包含的所有值
  • Eclipse 中的“环绕”模板:foreach

    我是 Eclipse 新手 主要用于 Java 我之前使用过 IntelliJ Idea 其中可以选择一个扩展 Iteratable 集合 列表等 的变量 并让它生成正确的 foreach 循环 我知道 Eclipse 对 foreach
  • 在压缩存档内的文本文件上运行“head”,而不解压存档

    问候 我接手了之前的团队并编写了处理 csv 文件的 ETL 作业 我在 ubuntu 上结合使用 shell 脚本和 perl csv 文件很大 它们以压缩档案形式到达 解压后 很多都超过 30Gb 是的 那是 G 旧进程是在 cron
  • Perl 和 Unix 如何以相同的顺序对 Unicode 字符串进行排序?

    我正在尝试获取 Perl 和 GNU Linuxsort 1 程序就如何对 Unicode 字符串进行排序达成一致 我在跑sort with LANG en US UTF 8 在Perl程序中我尝试了以下方法 use Unicode Col
  • Perl YAML 模块无法识别标量类型

    我加载以下 yaml 文件 foo bar s 1 hx 0x34 用这段代码 use YAML qw LoadFile Dump use Data Dumper my d LoadFile test yaml print Dumper d
  • 对 PLSQL 中的每个表执行

    我想要所有表中匹配特定名称条件的记录数 这是我构建的 SQL Declare SQLStatement VARCHAR 8000 BEGIN SELECT SELECT COUNT FROM Table Name INTO SQLState
  • perl-5.10 之前的高效版本相当于 pack("Q>")

    更新 萨尔瓦正确地指出我对 Q 包模板的介绍是错误的 这是 gt 修饰符 不会返回到 5 8 Perl 5 10 引入了 pack 修饰符 gt 对于我使用 Q 的用例 它将一个无符号四边形 64 位 值打包在大尾数法 现在 我正在寻找一个
  • * foreach 里面的 foreach codeigniter 2?

    在 codeigniter 2 1 中 我尝试按类别显示频道 因此 如果我有一个名为 电影 的类别 我应该会看到电影中的频道列表 我尝试使用嵌套的 foreach 循环来完成此任务 但似乎无法使其工作 我的表结构是这样的 但更复杂 我的型号
  • 使用包管理器时如何管理 Perl 模块?

    A 最近的问题 https stackoverflow com questions 397817 unable to find perl modules in intrepid ibex ubuntu这让我开始思考 在我尝试过的大多数 Li
  • 使用Perl/DBI/MySQL/InnoDB查找外键信息

    我想以编程方式查找 MySQL 数据库中特定 InnoDB 表的外键 我正在使用 Perl 我偶然发现 dbh gt foreign key info 我刚刚尝试使用它 但似乎有点错误 它不会返回 ON DELETE 和 ON UPDATE

随机推荐

  • 预期输入有 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 它将更改实