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

前端 未结 19 1633
你的背包
你的背包 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:20

    here's an implementation of natatime that doesn't make a copy of the list:

    sub natatime {
      my $n = shift;
      my $list = \@_;
    
      sub {
        return splice @$list, 0, $n;
      }
    }
    
    my $it = natatime(3, qw(1 2 3 4 5 6));
    while ( my @list = $it->() ) {
      print "@list\n";
    }
    

提交回复
热议问题