• 子程序定义-1


    子程序即一段分离的代码,它可以使减少重复代码且使程序易读。PERL中,子程序可以出现在程序的任何地方。
    
    但一般放在程序的开始或结尾。
    
    sub subroute{
     statements:
    }
    
    Sub开始,子程序名同变量的命名规则,可与变量同名。最好不要与内部函数同名。如果与内部函数同名则用&subroutine区分,不用&是内部函数,&是定义的函数,
    
    
    带有原型说明的子程序定义
    
    sub subroutine ($$) {   ##需要两个简单变量的参数
         statements;
    }
    
    () 中的符号表示参数的类型。以一个字符表示一个参数.
    
    $ 简单变量 @列表 %散列
    
    &匿名子程序  *引用
    
    前面加为强制类型一致。;分隔必须的参数和可选参数。
    
    @$;$ 表示第一个参数为列表
    
    
    函数返回值:
    
    1. 缺省子程序中最后执行的一个语句的值将用作返回值,如果在if块中为最后执行的语句,虽然不是子程序的最后一句,也是返回值。
    
    $a=1;
    
    不用等于,直接$retval;
    
    split(/:/,@a);返回数组。
    
    2.语句return(retval);退出子程序并返回值retval,retval可以为列表。
    
    3.返回错误
    
    return;返回错误undef
    
    用eval('subroutine');函数,错误由$@变量中取得。
    
    
    
    参数传递
    
    形式:
    
    &sub1($number1,$number2,$number3);#调用
    
    sub sub1{
    my ($number1,$number2,$number3)= @_;
    }
    
    my $number1=shift;
    
    my $number2=shift2;
    my $number3=pop;
    
    所有参数在数组@_中,每个元素为$_[0],$_[1]
    
    @_,$_[] 为局部变量,当子程序内再调用子程序时, @_不改变。会新生成另一份@_
    
    改变@_内元素的值如$_[0] 会改变主程序的参数只。
    
    shift pop 一次取一个参数。对@_操作,shift 取第一个参数,然后删除,pop取最后一个参数再删除。
    

  • 相关阅读:
    Centos 实现SSH证书登录
    Spring Boot 拦截器的使用
    Spring Boot 内置定时器的使用
    Spring Boot 整合Druid数据源(一)
    Spring Boot 整合滑动验证
    asp.ent core swagger
    Dapper.Contrib
    SonarQube
    Endpoint.Binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport)
    wcf messageEncoding="Mtom"
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13352002.html
Copyright © 2020-2023  润新知