所以,我从来不知道这一点,我希望得到一些澄清.我知道你是否这样做
foreach (@list){
如果在该循环中更改$_,则会影响实际数据.但是,如果你这样做,我不知道
foreach my $var1 (@list){
如果您在循环中更改了$var1,它将更改实际数据. : – /那么,有没有办法循环@list但保持变量是只读副本,或者如果更改的副本不会更改@list中的值?
解决方法
$var依次为每个项目设置别名.
见http://perldoc.perl.org/perlsyn.html#Foreach-Loops
If any element of LIST is an lvalue,you can modify it by modifying VAR inside the loop. Conversely,if any element of LIST is NOT an lvalue,any attempt to modify that element will fail. In other words,the foreach loop index variable is an implicit alias for each item in the list that you’re looping over.