以下哪项不能在条件语句中使用?
同时,如果-else,直到,如果-elsif-else
或者答案很简单这些都不是?
条件语句的 BLOCK 可以使用任意代码。
if (f()) {
while (g()) {
h();
}
}
您甚至可以在条件表达式中使用任意代码do
。
if (do {
my $rv;
while (!$rv && f()) {
$rv ||= g();
}
$rv
}) {
h();
}
在条件语句的 BLOCK 中使用任何类型的语句都没有任何限制,所以答案是它们都可以使用。
而例如:
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';
}
}