perl - 循环变量上缺少 $

标签 perl arrays

#!/usr/bin/perl
use strict;
use warnings;

my @array = qw[a b c];
foreach my($a,$b,$c) (@array) {
    print "$a , $b , $c\n";
}

我收到以下错误:

Missing $ on loop variable



怎么了?

我正在使用:perl v5.10.1 (*) built for x86_64-linux-thread-multi

最佳答案

要在每次迭代中获取多个列表项,请使用 List::MoreUtils::natatime 之类的内容
或使用拼接:

my @tmparray = @array; # don't trash original array
while ( my ($a,$b,$c) = splice(@tmparray,0,3) ) {
    print "$a , $b , $c\n";
}

或者将您的数据重新组织到多个数组中,并使用 Algorithm::Loops::MapCar* 函数之一一次循环遍历多个数组。

关于perl - 循环变量上缺少 $,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2988204/

相关文章:

windows - 有没有办法自动更改 <link> , &lt;script&gt; 标签中的文件名

perl - 舞者唯一请求 ID

c++ - 防止 C++ 异常使我的 Perl 脚本崩溃

perl - 在 perl 中比较字符串数组的最佳方法是什么

perl - 为什么这个定义的值不被识别为包或对象引用?

php - Android ResponseListener 如何检索数组的数组?

javascript - 如何以逆时针方式循环二维数组?

arrays - 从两组中找到元素的所有组合,以使它们的几何均值落入第三组

javascript - 使用 toFixed() 删除矩阵所有元素的多余数字

arrays - 使用非UTF-8编码的字符串作为映射键