大佬教程收集整理的这篇文章主要介绍了Perl do … while和last命令,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
do { my $qry = $self->getHTMLQuery(undef,$mech->content()); next if (!defined($qry)); push( @prods,map { 'http://www.XXXXYYYX.com'.$_->attr('href') } $qry->query('div.prodInfo div.prodInfoBox a.prodLink.GridItemLink') ); $qry->delete(); $TEST++; last if ($TEST >= 10); } while(eval { $mech->follow_link(class => 'jump next') }); print "WHILE ENDED\n";
上面的代码不会打印“WHILE ENDED”,即使在$TEST> = 10时它似乎也在while循环中出现.
但以下代码打印“WHILE ENDED”:
do { my $qry = $self->getHTMLQuery(undef,map { 'http://www.XXXXYYYX.com'.$_->attr('href') } $qry->query('div.prodInfo div.prodInfoBox a.prodLink.GridItemLink') ); $qry->delete(); $TEST++; } while(eval { $mech->follow_link(class => 'jump next') } && $TEST <= 10); print "WHILE ENDED\n";
在两个测试中,$TEST的初始值为0.
最后的行为是…而不是在…而不是…而{…}
如果你需要下一个和最后一个工作的时候,最简单的方法是使用一个无限循环与一个继续块中的真实条件.这两个循环是等效的,除了第二个循环是一个真正的循环,所以它适用于下一个&持续:
do { ... } while condition; while (1) { ... } conTinue { last unless condition };
以上是大佬教程为你收集整理的Perl do … while和last命令全部内容,希望文章能够帮你解决Perl do … while和last命令所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。