什么是标量“..”运算符的典型用法?它只是选择文本块吗?
我自己有趣的例子:
sub get_next { print scalar($$..!$$),"\n"; } get_next for 1 .. 5; # prints numbers from 1 to 5 get_next for 1 .. 5; # prints numbers from 6 to 10
解决方法
人们似乎很难根据这里的问题了解它,但是,是的,我会说典型的用法是选择文本块,或者用
while (<>) { print if /BEGIN/ .. /END/; }
要么
while (<>) { print if 3 .. 5; # prints lines 3 through 5 }
后者是用于检查输入行号($.)的语法糖.
... if $. == 3 .. $. == 5;
这表明看起来怪异
#! /usr/bin/perl -l for ($_ = 1; $_ <= 10; ++$_) { print if $_ == 4 .. $_ == 7; }
以上程序的输出是
4 5 6 7
如果您有某种包围条件,请在子测试中测试它:
for (...) { do_foo($x,$y,$z) if begin($x) .. end($z); }