在循环中交替变量值的最佳方法?(Perl的)

Tak*_*kun 1 perl loops

my @arr = (1,2,3,4,5,6,7,8,9);

my $counter = 0;
foreach my $a (@arr) {
    my $str;
    if ($counter % 2 == 0) {
        $str = 'hi';
    } else {
        $str = 'bye';
    }
    print $str . "\n";
    $counter++;
}
Run Code Online (Sandbox Code Playgroud)

对于while循环的每次迭代,在两个不同值之间交替的最佳方法是什么?上面的简单例子,是否有比保持计数器和修改更好的方法来查找偶数值?

ike*_*ami 5

my @arr = qw( a b c );

for my $i (0..$#arr) {
    print "$arr[$i] ", $i % 2 ? 'bye' : 'hi', "\n";
}
Run Code Online (Sandbox Code Playgroud)