Perl三点运算符…示例

前端之家收集整理的这篇文章主要介绍了Perl三点运算符…示例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
任何人可以用一些例子显示..和…运算符之间的确切差异?

perlop手册页:

If you don’t want it to test the right operand until the next
evaluation,as in sed,just use three dots (“…”) instead of two.

但这到底是什么意思?我不明白perlop的例子:

@lines = ("   - Foo","01 - Bar","1  - Baz","   - Quux"
);
foreach (@lines) {
    if (/0/ .. /1/) {
        print "$_\n";
    }
}

与…将打印Baz – 但为什么?更确切地说,为什么Baz不打印两个点,只有…?

解决方法

«…»不会在真正的翻转检查后立即进行翻转检查。

用«..»,

>“ – Foo”

> / 0 /返回false。
> ..返回false。

>“01 – 酒吧”

> / 0 /返回true。翻转!
> / 1 /返回true。翻牌! ⇐
> ..返回true(因为第一个检查为真)。

>“1-Baz”

> / 0 /返回false。
> ..返回false。

>“ – Quux”

> / 0 /返回false。
> ..返回false。

用«…»,

>“ – Foo”

> / 0 /返回false。
> … returns false。

>“01 – 酒吧”

> / 0 /返回true。翻转!
> …返回true。

>“1-Baz”

> / 1 /返回true。翻牌!
> …返回true。

>“ – Quux”

> / 0 /返回false。> … returns false。

猜你在找的Perl相关文章