for(1){ print 1; } do { print 1; }
这是真的吗?
或者是否有任何特殊情况这两个不相等?
解决方法
一个区别是,(1)将$_设置为值1,以及:
for(1){ print $_; # prints 1 }
另外,do返回序列中最后一个命令的值:
my $x = do { 1 }; # $x = 1 my $y = for(1){ 1 }; # invalid