一种编程语言中的控制结构是控制程序流程走向的语句和语法,今天先来学学最基本的三个控制If、Unless、Until,呵呵,其实跟其他编程语言中的对应语句的用法没有大的区别,我们就通过几个例子来看一看吧。
if是各种语言中都有的结构,但是perl的if似乎有点……那个,可称之为“定语后置”。 具体来说就是这个样子的
#!/usr/bin/perl -w
use strict;
{
my $a=3;
print "thank god!" if($a==3);
}
当然这是一个很无聊的程序了,但给大家演示了perl中定语是如何后置的。其他地方if的用法同其他语言就没什么区别了。又例如下面的例子
#!/usr/bin/perl -w
use strict;
{
my $a;
for($a=0;$a<10;$a++)
{
if($a>5) print "haha\n";
}
}
有了if就一定会有else,else也没有什么特别的。用法如下:
#!/usr/bin/perl -w
use strict;
{
my $a;
for($a=0;$a<10;$a++)
{
if($a>5) print "haha\n";
else print "lala\n";
}
}
perl里面有一个特别的控制语句叫做“elsif”的,注意,不是“elseif”,而是“elsif”,这个语句的作用同else if是一样的。使用可以看下面的例子。
#!/usr/bin/perl -w
use strict;
{
my $a;
for($a=0;$a<10;$a++)
{
if($a>5) print "haha\n";
elsif($a>3) print "lala\n";
else print "gee!\n";
}
}
Unless是If的反义词,这个关键字的用法和if完全一样,但是相当于加上一个!(取非),用一个例子来说:
#!/usr/bin/perl -w
use strict;
{
my $a;
for($a=0;$a<0;$a++)
{
print "$a\n" if(!$a>5);
}
}
和
#!/usr/bin/perl -w
use strict;
{
my $a;
for($a=0;$a<0;$a++)
{
print "$a\n" unless($a>5);
}
}
是一样的。 我一直不太明白这个关键字有什么用。
Until是While的反义词,就是说不执行后面的语句一直到满足条件为止。如下面的例子
#!/usr/bin/perl -w
use strict;
{
my $a;
for($a=0;$a<0;$a++)
{
until($a==3)
{ print "$a\n" unless($a>5);
$a++;
}
}
}
这一段程序打印出3,好像很无聊是吧?但是有时候会有用的。这里有一个需要注意的是在until 里面有一个$a++。没有这个就会……555,死循环了。