• perl学习笔记三


    子程序

    定义子程序(可以在程序的任意位置)

    关键字sub、子程序名(不包含与号)以及用花括号封闭起来的代码快。

    如:sub marine{

      $n+=1;

      print "hello,sailor number $n! ";

    }

    调用子程序:&marine;

    返回值

    所有子程序都会有返回值。最后一次运算的结果是什么就将这个运算结果当作改程序的返回值。

    如:sub sum_of_a_and_b{

      $a+$b;

      print "Hey,I'm returning a value now ";

    }

    此时返回值为1,因为print执行成功了。

    参数

    如:$n=&max(10,15);

    参数列表将会传入子程序中,Perl会自动将参数列表化名为特殊的数组标量@_,该变量在子程序执行期间有效。子程序可以访问该数组以判断参数的个数和值。

    所以函数max可以写成;

    sub max{

      if(@_[0]>@_[1]){

      @_[0];

      }

      else {

      @_[1];

      }

    }

    子程序的私有变量

    利用my操作符创建私有变量,又名词法变量。

    sub max{

      my($m,$n);//定义

      ($m,$n)=@_;//赋值

      if($m>$n){$m;}else{$n;}

    }

    use strict编译命令

    使用了use strict严格的约束,即按照严格的编程标准来编程。

    首先你在定义一个新的变量时必须在变量前面加上my。当然$_ @_等这些默认变量自然不用加my.

    代码过长时最好加上use strict。

    return 操作符

    作用:让程序执行到一半就停下来。

    #!/usr/bin/perl
    use strict;
    use warnings;
    
    my @names=qw /fred barney betty dino wilma pebbles bamm_bnam/;
    my $res=&find_elememt("dino",@names);
    if($res != -1)
    {
        print "ths dino's index is $res .
    ";
    }
    else{
        print "there is no dino.
    ";
    }
    sub find_elememt{
        my ($res,@elememts)=@_;
        foreach  (0..$#elememts) {
            if($res eq $elememts[$_]){
                return $_;
            }
        }
        -1;
    }
  • 相关阅读:
    Centos7下搭建SVN
    Ubuntu设置telnet 远程登录(root权限)
    E: 无法打开锁文件 /var/lib/dpkg/lock-frontend
    使用ICMP搭建隧道(PingTunnel)
    Centos7安装Redis
    idea 激活方法
    Chrome 浏览器安装 ChroPath 插件
    jmeter引入外部jar包的方法
    maven安装
    eclipse集成 json editor plugin插件
  • 原文地址:https://www.cnblogs.com/lukexwang/p/4634289.html
Copyright © 2020-2023  润新知