范围运算符从最大到最小递减:10..1

Fli*_*imm 6 perl

Perl 有一个范围运算符,当在foreach循环中使用时,它不会创建临时数组:

foreach (1 .. 1_000_000) {
    # code
}
Run Code Online (Sandbox Code Playgroud)

如果第一个整数小于第二个整数,则不运行迭代:

foreach (1_000_000 .. 1) {
    # code here never runs
}
Run Code Online (Sandbox Code Playgroud)

我可以使用reverse内置的,但这会保持不创建临时数组的优化吗?

foreach (reverse 1 .. 1_000_000) {
    # code
}
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以像范围运算符一样漂亮和快速地减少数字而不是增加数字?

Сух*_*й27 3

不漂亮的解决方案,

for (my $i=1_000_000; $i >= 1; $i--) {

   print "$i\n";
}
Run Code Online (Sandbox Code Playgroud)