print ((0 ~~ [0, 5..100]) ? "Y" : "N");
@a = (0, 5..100);
print ((0 ~~ @a) ? "Y" : "N");
或者一个......不知道叫什么(匿名命名数组?)
print ((0 ~~ @{[0,5..100]}) ? "Y" : "N");
(0,5..100)
是一个列表,但它不是一个数组,这是区分它们的重要之处之一。
(0, 5..100)
在标量上下文中被评估。 - ikegami0 ~~ ...
被认为是其中之一的原因。grep { $_ } 0, 5..100
或者
use List::Util qw( first );
first { $_ } 0, 5..100
print grep($_ == 0, 0, 5..100) ? 'Y' : 'N'
可以做同样的事情,没有歧义。 - TLP