cto67 发表于 2015-12-28 09:04:20

Perl脚本学习----Perl流程控制语句用法指南

  Perl流程控制语句
  条件选择语句1
  if(条件表达式){
语句块1;
}else{
语句块2;
}
  条件选择语句2
  unless(判别运算式)
{
语句2;
}else{
语句1;
}
  if条件语句嵌套
  if(条件表达式1)
{
语句1
}elsif(条件表达式2){
语句2
}elsif(条件表达式3){
语句3
}else{
语句4
}
  例:
#!/usr/bin/Perl-w
  print "input?\n";
$name=<STDIN>;
  chop ($name);
if($name eq "bo")
  {
print"my name is $name\n";
  }elsif($name eq "ji"){
print"my last name is $name\n";
  }elsif($name eq "liu"){
print"my first name is $name\n";
  }else{
print"unkonw------!!!!!!!!!!\n";
  }

  灵活使用Perl
  条件表达式&&语句块
  这的确是个逻辑与操作,若条件表达式为“真”,要根据后面语句块的执行结果才能判断整个逻辑与操作的结果,这样就会执行后面的语句;而当条件表达式为“假”,则整个表达式为“假”,不用考虑
后面语句块的值。所以为假时的语句块不被执行。
  open(FH,">filename")||die"打开文件出错。";
这时整个表达式的含义是:当前面的语句执行结果是“真”时,就不执行后面的语句了;当前面的语句执行出错,结果是“假”时,就执行后面的语句。这里die的含义是输出出错信息。
  if语句的简写
#catifp.pl
  #!/usr/bin/Perl-w
$i=1;
  #if($i<10){
#
  #print"$i<10\n";
#
  #}
print"$i<10\n"if($i<10);

  Perl流程控制语句之for循环
  for(初始语句,条件判断语句,循环变量步进速度){
循环体语句
}
#catpfor.pl
  #!/usr/bin/Perl-w
for($i=1;$i<10;$i++){
  print"$i\n";
}

  Perl流程控制语句之while/until循环
while(条件表达式){
循环体语句
}
#catpwhile.pl
  #!/usr/bin/Perl-w
$i=1;
  while($i<10){
print"$i\n";
  $i++;
}
  
当条件表达式为“假”时,执行循环体语句
  until(条件表达式){
循环体语句
  }
#!/usr/bin/Perl-w
  $i=0;
until($i>10){
  print"$i\n";
$i++
  }

  Perl流程控制语句之do{}while/until循环
  do{
  }while/until(条件表达式);
do{}while的语意是执行循环体,直到条件表达式为“假”;而do{}until的语意是执行循环体,直到表达条件式为“真”。
  Perl流程控制语句之foreach循环
  foreach标量(标量)
{
循环体语句
}
#catforeach.pl
  #!/usr/bin/Perl-w
@array=(1,2,3,4,5);
  foreach$i(@array){
print"$i\n";
  }
#!/usr/bin/Perl-w#######有一个默认变量$_
  @array=(1,2,3,4,5);
foreach(@array){
  print;
}
  
#!/usr/bin/Perl-w
  @array=(1,2,3,4,5);
foreach$_(@array){
  print$_;
}
  
  循环体控制next和last等完成。
#catnext.pl
  #!/usr/bin/Perl-w
@array=("a","b","c","d","e","f");
  foreach(@array){
if($_ ge "c"){
  last;##跳出循环
}
  for($i=1;$i<7;$i++){
if(($i%2)==1){
  next;##进行下一次循环
}
  print"$_"x"$i";
print"\n";
  }
}
  print"\nDone!\n";
  注:当外层循环变量大于等于“c”时,就跳出外层循环,代码执行完毕:内层循环中,当循环变量是奇数时,就不执行打印操作,而执行下一次循环。这样就是下面的结果。
  #./next.pl
aa
aaaa
aaaaaa
bb
bbbb
bbbbbb
Done!
页: [1]
查看完整版本: Perl脚本学习----Perl流程控制语句用法指南