选择性控制结构包括if和unless语句,类似于C语言中的if。
首先介绍一下真和假的定义。在Pe rl中,这些规则有些难以理解。控制表达式的值为空串或0时,则表达式为假, 对于其它任何情况,表达式的值都为真。
注意:"00"不是空串或0,值为真。"0.0"也是如此。
指令: if 假如
语法一:
if(判别运算式)
{
表达式为真时的语句块;
}
上个语法在Perl中也可以写成:
表达式为真时的语句块 if (判别运算式);
范例:
print"请输入您的分数?n";
$scorre=<STDIN>; #<STDIN>代表标准输入,会让使用者输入一字符串
chop($score); #将$score最后一个换行字符n删除掉
if($score>=60){
print"您的分数及格了!n";
}
也可以写成: print "您的分数及格了!n" if ($score>=60);
语法二:
if(判别运算式一){
判别式一为真时的语句块;
}else{
判别式一为假时的语句块;
}
范例:
print"请输入您的分数?n" ;
$scorre=<STDIN>;
chop($score);
if($score>=60)
{
print"您的分数及格了!n";
}else{
print"您的分数不及格!n";
}
语法三:
if (判别运算式一)
{
判别式一为真时的语句块;
}elsif(判别运算式二){
判别式二为真时的语句块;
}elsif(判别运算式三){
判别式三为真时的语句块;
}else{
所有判别式为假时的语句块;
}
范例:
print"请输入您的分数?n";
$sco rre=<STDIN>;
chop($score);
if($score>60)
{
print"您的分数大于60分!n";< BR>
}elsif ($score<60){
print"您的分数小于60分!n":
}else{
print"您的分数刚好是60 分!n";
}
指令: unless 假如非
unless的含义就是说“如果判别式不为真,就执行...”。
语法一:
unless(判别运算式) {
判别式为假时语句块;
}
上个语法在Perl中也可以写成:判别式为假时语句块 unless (判别运算式);
范例:
print"请输入您的分数?n";
$scorre=<STDIN>; #<STDIN>代表标准输入,会让使用者输入一字符串
chop($score); #将$score最后一个换行字符n删除掉
unless($score<60)
{
print"您的分数及格了!n";
}