在Perl中,是否可以任意地结束
map
执行,例如相当于
last
在一个循环?
这有点像这样:
map { if (test == true) { last; } dosomething } @myarray
解决方法
不.你不能持续,下一个等等,从地图,grep或排序块,因为
they are not loops.
话虽如此,这个问题的代码片段很差,因为map不能在void context中调用.它们应该用于将一个列表转换为另一个列表.
这是一个更好的方式来写它,如果你真的必须内联它(在ysth的评论后修改):
$_ == 10 && last,print for 1..15; # prints '123456789'