Learning Perl(Perl语言入门)学习笔记(3)

 

第四章 子例程

 

1、  子例程(subroutine)即用户自定义函数,子例程调用时通常在子例程名前加上“&”符号;子例程名属于独立的命名空间;

2、  子例程可以在程序中的任何地方进行定义,但要防止两个子例程重名,否则后者会覆盖前者;定义标准格式为:                                                                   

sub 子例程名 {

      语句;

}

3、  Perl中,任何子例程都有返回值,返回值通常是程序所执行的最后一个表达式的运算结果,也可以使用return关键字为子例程指定返回值,当然,也可以省略关键字return;在子例程中,程序一旦运行到return语句便会终止,而不会执行其后的任何语句;

4、  子例程的返回值根据不同的上下文可以不所不同,即返回值可以是标量值,也可是列表,甚至可以是“不确定”;可以使用wantarray函数来检测其返回值类型,子例程返回值为列表时为“真”,返回值为标量时为“假”;

5、  Perl会自动将传入的参数列表存入名为@_的数组变量,无论传入的是一个列表、标量、还是散列,甚至是以上任意间的组合;

6、  Perl中所有的变量默认均为全局变量;可以使用my操作符来创建称为lexical variable的私有变量,其作用范围为所属的代码块;代码块中最后一个语句的后的“;”(分号)可省略,但一般不这么做;如果私有变量的定义不属于任何块,那么其作用范围是整个程序文件;my操作符不会改变变量赋值时的上下文;my后不加括号时,其声明的私有变量仅为紧随其后的变量;

7、  编译命令(pragma)是对编译器的指示,用来指定编译程序时所采用的规则;use strict可以强制编程期间使用良好的程序语言规则;但不对$_@_进行限制;

8、  子例程调用时,“&”可以省略,前提是Perl可以从语法上分辨出此次调用是一个子例程;比如,调用带有参数列表,或者子例程定义在子例和定义之前;但是,如果子例程和内置函数重名,则必须使用“&”符号;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值