hls 发表于 2015-12-28 15:11:05

Perl 学习手札之五: conditional statement

  本章节实在是简单的不想写,太多雷同的部分了。
  understanding conditional statements
  1. conditional execute code selectively



if(condition){
    statements
)
  2. conditionals my provide alternative code



if (condition){
    statement_1
}else{
    statement_2
}
  beginning with version 5.10, perl also provides a switch statement
  -use given and when
  -requires the latest version of perl
  if.pl



#!/usr/bin/perl

use strict;
use warnings;
use constant{
    TRUE =>1,
    FALSE => ''
};
main(@ARGV);
sub main
{
    if(1){#replace 1 with 0/142/"this is true"/""/undef/5+5/5-5 and veiw the result.
      message("this is true.");
    }
}
sub message
{
    my $m = shift or return;
    print("$m\n");
}
sub error
{
    my $e = shift || 'unkown error';
    print("$0: $e\n");
    exit 0;
}
  else.pl



#!/usr/bin/perl

use strict;
use warnings;
use constant{
    TRUE =>1,
    FALSE => ''
};
main(@ARGV);
sub main
{
    if(TRUE){
      message("This is true.");
    }else{
      message("This is false.");
      }
}

sub message
{
    my $m = shift or return;
    print("$m\n");
}
sub error
{
    my $e = shift || 'unkown error';
    print("$0: $e\n");
    exit 0;
}
  elsif.pl



#!/usr/bin/perl

use strict;
use warnings;
use constant{
    TRUE =>1,
    FALSE => ''
};
main(@ARGV);
sub main
{
    if(TRUE){
      message("This is true.");
    }elsif(FALSE){
      message("but this one is true");
    }
    else{
      message("This is false.");
    }
}
sub message
{
    my $m = shift or return;
    print("$m\n");
}
sub error
{
    my $e = shift || 'unkown error';
    print("$0: $e\n");
    exit 0;
}
  postfix.pl



#!/usr/bin/perl
#
use strict;
use warnings;
main(@ARGV);
sub main
{
    my $x =42;
    message("number is in range") if($x>25 and $x < 100);
}
sub message
{
    my $m = shift or return;
    print("$m\n");
}
sub error
{
    my $e = shift || 'unkown error';
    print("$0: $e\n");
    exit 0;
}
  这里我们用一个很cool的代码书写方式:将control结构放在后面,简洁,漂亮!
  unless.pl



#!/usr/bin/perl
use strict;
use warnings;
main(@ARGV);
sub main
{
    my $x =24;
    message("number is out of range") unless $x>25 and $x < 100;
}
sub message
{
    my $m = shift or return;
    print("$m\n");
}
sub error
{
    my $e = shift || 'unkown error';
    print("$0: $e\n");
    exit 0;
}
  同样简洁!
  ternary.pl



#!/usr/bin/perl

use strict;
use warnings;
main(@ARGV);
sub main
{
    my $n= 24;
    my $s = ($n>25 and $n <100)?"in range":"out of range";
    message("number is ". $s);
}
sub message
{
    my $m = shift or return;
    print("$m\n");
}
sub error
{
    my $e = shift || 'unkown error';
    print("$0: $e\n");
    exit 0;
}
  学会用和C不同的风格写条件控制语句也是一件有趣的事情!

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

  
  
页: [1]
查看完整版本: Perl 学习手札之五: conditional statement