Perl语言学习笔记 day 2

来源:互联网 发布:3d服装设计软件 编辑:程序博客网 时间:2024/05/16 01:06

1、在Perl中,子程序名与变量名属于不同的命名空间,可以使用同一个名字分别命名子程序和变量,但不建议这样使用。

2、子程序的定义是全局的,同名的子程序后边的会覆盖掉前边的定义。

3、定义子程序

sub subProgram{

#body

}

4、调用子程序

&subProgram

5、所有的子程序都有返回值,默认最后一行的运算结果为返回值。

6、子程序未定义参数时,传递的参数默认传给"@_",可以通过$_[0]、$_[1].....访问;

访问传递的参数:

1、($m,$n) = @_

2、$_[0]、$_[1]……

7、在子程序中创建私有变量

my($m,$n);

my不会改变赋值时的上下文;

my变量只在其所在的最内层语句块(如for、foreach等)使用,超出则无效;

如果不在任何语句块中,则对整个程序文件有效,作为整个程序文件的私有变量使用;

my 后边加括号,括号内的变量都被声明,不加括号只对紧跟其后的那个变量有用,my($m,$n)、my $m,$n;

8、use strict:使用更严格的语法规则,对当前语句块和剩下的部分有用;

9、如果Perl在语法上可以识别出是子程序调用,则可以省略“&”,但是子程序名与Perl内置函数同名的时候,“&”不可省略;

10、持久性私有变量

例:

sub run{

state $n = 0;#初始化一次,再次执行会被忽略

$n +=1;

}

无法用于数组和哈希类型的变量;


0 0
原创粉丝点击