以下哪项不能在条件语句中使用?
while,if-else,until,if-elsif-else
或答案很简单没有这些?
答案 0 :(得分:3)
可以在条件语句的BLOCK中使用任意代码。
if (f()) {
while (g()) {
h();
}
}
您甚至可以使用do
在条件表达式中拥有任意代码。
if (do {
my $rv;
while (!$rv && f()) {
$rv ||= g();
}
$rv
}) {
h();
}
答案 1 :(得分:2)
在条件语句的BLOCK中使用任何类型的语句都没有任何限制,所以答案是所有语句都可以使用。
while 示例:
use warnings;
use strict;
local $\="\n";
my $count=10;
if ($count) {
while ($count!=0) {
print $count--; #will print 10, 9, 8, ..., 1
}
}
if-else 示例:
use warnings;
use strict;
my $count=10;
if ($count) {
if ($count>5) {
print 'greater than 5';
}
else {
print 'lower or equal to 5';
}
}
直到为例:
use warnings;
use strict;
local $\="\n";
my $count=10;
if ($count) {
until ($count==0) {
print $count--; #will print 10, 9, 8, ..., 1
}
}
if-elsif-else 示例:
use warnings;
use strict;
my $count=10;
if ($count) {
if ($count>5) {
print 'greater than 5';
}
elsif ($count==5) {
print 'equal to 5';
}
else {
print 'lower than 5';
}
}