How do I read two items at a time in a Perl foreach loop?

前端 未结 19 1648
你的背包
你的背包 2020-12-14 15:12

What I\'m looking for is something like:

@list = qw(1 2 3 4 5 6);
foreach (@list) {
  #perl magic goes here 
  print \"i: $i, j:$j\\n\";
}

19条回答
  •  轮回少年
    2020-12-14 15:28

    The closest equivalent is, unfortunately, going old-school:

    for(my $ix = 0; $ix <= $#list; $ix += 2) {
        my $i = $list[$ix];
        my $j = $list[$ix + 1];
        print "i: $i, j:$j\n";
    }
    

    I like Jack M's answer better, really, though I would write it in sexier Perl:

    while(@list) {
        my $i = shift @list;
        my $j = shift @list;
        print "i: $i, j:$j\n";
    }
    

提交回复
热议问题