我有类似
的东西my $ token = readToken();
while (length($token) > 0) {
# do stuff with $token
$token = readToken();
}
我不禁感到我错过了一个我没有两个电话的建筑
到readtoken
答案 0 :(得分:3)
这似乎有效
while ( length( my $token = readToken() ) > 0 ) {
# do stuff with token
}
答案 1 :(得分:3)
你自己的答案非常好。或者你可以编写一个无限循环并手工构建while
逻辑:
while () {
my $token = readToken();
last if length($token) == 0;
# do stuff with $token
}
答案 2 :(得分:1)
试试这个:
my $token;
while (($token = readToken()) && (length($token) > 0)) {
# do stuff with $token
}
答案 3 :(得分:-1)
你原来的循环应该是:
my $token = readToken();
while (length($token) > 0) {
# do stuff with $token
}continue{
$token = readToken();
}
不同之处在于continue
子句中的任何内容都将在调用next
时执行。要再次跳过continue
但是循环,请使用redo
。
请参阅: