zoukankan      html  css  js  c++  java
  • 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不同的风格写条件控制语句也是一件有趣的事情!



  • 相关阅读:
    CodeForces 745C Hongcow Builds A Nation 并查集
    hdu 1542 Atlantis 矩形面积并
    CodeForces 741C Arpa’s overnight party and Mehrdad’s silent entering
    上海五校联赛 H 调和序列
    C++学习笔记之泛型算法
    hdu 6016 Count the Sheep
    操作系统 银行家算法
    计蒜之道复赛 B D F
    hdu 2966 In case of failure kdtree模板题
    poj 3468 A Simple Problem with Integers 降维线段树
  • 原文地址:https://www.cnblogs.com/hanleilei/p/2322508.html
Copyright © 2011-2022 走看看