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



  • 相关阅读:
    时间及时间戳相互转换
    指针偏移
    C# TreeView模糊查找节点
    Checkedlistbox只能单选不能多选
    获取本机的IP地址
    检测插件是否已注册,注册插件
    知道内存中一个图片的指针IntPtr大小,转换成图片显示
    C# 判断点是否在矩形框内
    C# 从图片中截取一部分图片,并返回所截取的图片
    C# 管道通信 (client —— server)Framework2.0版本也可用
  • 原文地址:https://www.cnblogs.com/hanleilei/p/2322508.html
Copyright © 2011-2022 走看看