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不同的风格写条件控制语句也是一件有趣的事情!



  • 相关阅读:
    CART回归树基本原理(具体例子)
    Leetcode 236. 二叉树的最近公共祖先 & 235. 二叉搜索树的最近公共祖先(Python3)
    c和c++的区别
    最小编辑距离python
    判断单链表是否有环,并找出环的入口python
    关键词提取算法-TextRank
    leetcode406 ,131,1091 python
    id3算法python实现
    Relu激活函数的优点
    从 AllocateMessageQueueConsistentHash 看一致性哈希
  • 原文地址:https://www.cnblogs.com/hanleilei/p/2322508.html
Copyright © 2011-2022 走看看