![]() |
1
10
见 http://perldoc.perl.org/perlsyn.html#Foreach-Loops
|
![]() |
2
9
最简单的方法就是复制它:
或
但是如果$var1是一个引用,$var1_scratch将是对同一事物的引用。 为了真正安全,您必须使用类似storable::dclone这样的工具进行深度复制:
(未经测试)。那么您应该能够安全地兑换$var1。但是如果 @列表是一个大数据结构。 |
![]() |
3
4
它是别名,而不是引用。如果要创建自己的别名(在for之外),可以使用 Data::Alias . |
![]() |
4
2
这些循环之间的唯一区别是:
是循环变量。别名是
在简单(和常见)情况下,您可以通过复制来破坏别名:
这适用于普通的标量值。对于引用(或对象),您需要使用 Storable 或 Clone 可能很贵。绑定变量也是有问题的, perlsyn 建议完全避免这种情况。 |
![]() |
5
1
我不知道如何在foreach语句本身中强制变量按值而不是按引用。您可以复制
|
![]() |
6
0
在for语句中复制@list:
|
![]() |
Manny · 如何比较Perl中的字符串? 2 年前 |
![]() |
BioRod · 我不能用Perl打印键和值 2 年前 |
![]() |
user17227456 · Perl CLI代码无法追加字符串行 2 年前 |
![]() |
LearnToBeBetter · 读取文件,搜索字符串,打印字符串 3 年前 |
![]() |
KJ7LNW · 一些波斯语文本的宽字符印刷,但其他文本则没有 3 年前 |
![]() |
con · 如何搜索大型数据结构并返回一系列给出特定值的键/数组? 3 年前 |
![]() |
Pranay Nanda · 使用regex解析许可证文件 7 年前 |